如果需要訪問系統的socket相關信息,大多數人想到的第一個工具就是netstat。但是如果你想獲得更多信息,你可以使用 ss 命令來達到這個目的。 |
顯示所有已建立連接的套接字
ss命令不帶任何選項,用來顯示已建立連接的所有套接字的列表。
[root@localhost ~]# ss
抑制輸出中的標題行
如果要取消命令輸出中的標題行,可以使用-H選項。
[root@localhost ~]# ss -H
只顯示 tcp 連接
如果只想在命令的輸出中顯示 tcp 連接,可以使用-t選項:
[root@localhost ~]# ss -t
只顯示 udp 連接
如果只想在命令的輸出中顯示 udp 連接,可以使用-u選項:
[root@localhost ~]# ss -u
只顯示 unix 連接
如果只想在命令的輸出中顯示 unix套接字 連接,可以使用-x選項:
[root@localhost ~]# ss -x
僅顯示偵聽狀態的socket
如果只想顯示被偵聽的套接字,可以使用-l選項。
[root@localhost ~]# ss -l
顯示摘要信息
使用-s選項可以顯示摘要信息:
[root@localhost ~]# ss -s
Total: 156
TCP: 3 (estab 1, closed 0, orphaned 0, timewait 0)
Transport Total IP IPv6
RAW 1 0 1
UDP 3 2 1
TCP 3 2 1
INET 7 4 3
FRAG 0 0 0
僅顯示 IPv4/IPv6 套接字
如果只想顯示ipv4偵聽的,可以使用-4和-l選項。
[root@localhost ~]# ss -4l
如果只想顯示ipv6偵聽的,可以使用-6和-l選項。
[root@localhost ~]# ss -6l
不將 IP 地址解析為主機名
如果不想將ip地址解析為主機名稱,可以使用-n選項,以防止命令將 IP 地址解析為主機名。但這也會阻止端口號的解析:
[root@localhost ~]# ss -n -4l
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
udp UNCONN 0 0 192.168.43.131%ens160:68 0.0.0.0:*
udp UNCONN 0 0 127.0.0.1:323 0.0.0.0:*
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:*