ss 网络端口查询
最后更新于:2022-04-02 03:50:09
[TOC]
## 概述
- ss(Socket Statistics),允许你查询 socket 的有关统计信息
- 它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效
## 命令
```
选项
-h, --help 帮助信息
-V, --version 程序版本信息
-n, --numeric 不解析服务名称
-r, --resolve 解析主机名
-a, --all 显示所有套接字(sockets)
-l, --listening 显示监听状态的套接字(sockets)
-o, --options 显示计时器信息
-e, --extended 显示详细的套接字(sockets)信息
-m, --memory 显示套接字(socket)的内存使用情况
-p, --processes 显示使用套接字(socket)的进程
-i, --info 显示 TCP内部信息
-s, --summary 显示套接字(socket)使用概况
-4, --ipv4 仅显示IPv4的套接字(sockets)
-6, --ipv6 仅显示IPv6的套接字(sockets)
-0, --packet 显示 PACKET 套接字(socket)
-t, --tcp 仅显示 TCP套接字(sockets)
-u, --udp 仅显示 UCP套接字(sockets)
-d, --dccp 仅显示 DCCP套接字(sockets)
-w, --raw 仅显示 RAW套接字(sockets)
-x, --unix 仅显示 Unix套接字(sockets)
-f, --family=FAMILY 显示 FAMILY类型的套接字(sockets),FAMILY可选,支持 unix, inet, inet6, link, netlink
-A, --query=QUERY, --socket=QUERY
QUERY := {all|inet|tcp|udp|raw|unix|packet|netlink}[,QUERY]
-D, --diag=FILE 将原始TCP套接字(sockets)信息转储到文件
-F, --filter=FILE 从文件中都去过滤器信息
FILTER := [ state TCP-STATE ] [ EXPRESSION ]
```
## 场景
### 查看端口连接的tcp
```
> ss -t |grep 6661
ESTAB 0 0 192.168.0.151:6661 192.168.0.149:59719
ESTAB 0 0 192.168.0.151:52632 192.168.0.149:6661
ESTAB 0 0 192.168.0.151:52646 192.168.0.149:6661
ESTAB 0 0 192.168.0.151:6661 192.168.0.242:52796
ESTAB 0 0 192.168.0.151:6661 192.168.0.149:59718
ESTAB 0 0 192.168.0.151:6661 192.168.0.99:33928
```
### 统计 tcp/udp 连接总数
```
> ss -s
Total: 356 (kernel 550)
TCP: 158 (estab 129, closed 11, orphaned 0, synrecv 0, timewait 9/0), ports 0
Transport Total IP IPv6
* 550 - -
RAW 1 0 1
UDP 5 4 1
TCP 147 136 11
INET 153 140 13
FRAG 0 0 0
```
### 查看端口占用
```
> ss -pl |grep 6661
udp UNCONN 0 0 *:6661 *:* users:(("UpLoginServer",pid=17608,fd=14))
tcp LISTEN 0 128 *:6661 *:* users:(("UpLoginServer",pid=17608,fd=7))
```
### 匹配连接到远程地址或端口号
```
> ss dst 192.168.0.242
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp ESTAB 0 0 192.168.0.151:37300 192.168.0.242:6661
tcp ESTAB 0 0 192.168.0.151:37310 192.168.0.242:6661
tcp ESTAB 0 0 192.168.0.151:6661 192.168.0.242:53156
tcp ESTAB 0 0 192.168.0.151:6661 192.168.0.242:53160
tcp ESTAB 0 0 192.168.0.151:37308 192.168.0.242:6661
tcp ESTAB 0 0 192.168.0.151:6661 192.168.0.242:53158
> ss dst 192.168.0.242:6661
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp ESTAB 0 0 192.168.0.151:37300 192.168.0.242:6661
tcp ESTAB 0 0 192.168.0.151:37310 192.168.0.242:6661
tcp ESTAB 0 0 192.168.0.151:37308 192.168.0.242:6661
```
### 匹配连接到本地地址或端口号
```
> ss src 192.168.0.2423
> ss src 192.168.0.243:6661
```
';