ss:檢視網路連線的另一種方法

Mathieu Trudel-lapierre發表於2017-07-27

在之前的文章中,我提到過 ss,它是 iproute2 包附帶的另一個工具,允許你查詢 socket 的有關統計資訊。可以完成 netstat 同樣的任務,但是,ss 稍微快一點而且命令更簡短。

直接輸入 ss,預設會顯示與 netstat 同樣的內容,並且輸入類似的引數可以獲取你想要的類似輸出。例如:

$ ss -t
State       Recv-Q Send-Q       Local Address:Port                        Peer Address:Port
ESTAB       0      0                127.0.0.1:postgresql                     127.0.0.1:48154
ESTAB       0      0            192.168.0.136:35296                      192.168.0.120:8009
ESTAB       0      0            192.168.0.136:47574                     173.194.74.189:https
[…]

ss -t 只顯示 TCP 連線。ss -u 用於顯示 UDP 連線,-l 引數只會顯示監聽的埠,而且可以進一步過濾到任何想要的資訊。

我並沒有測試所有可用引數,但是你甚至可以使用 -K 強制關閉 socket。

ss 真正耀眼的地方是其內建的過濾能力。讓我們列出所有埠為 22(ssh)的連線:

$ ss state all sport = :ssh
Netid State      Recv-Q Send-Q     Local Address:Port                      Peer Address:Port
tcp   LISTEN     0      128                    *:ssh                                  *:*
tcp   ESTAB      0      0          192.168.0.136:ssh                      192.168.0.102:46540
tcp   LISTEN     0      128                   :::ssh                                 :::*

如果只想看已建立的 socket(排除了 listeningclosed ):

$ ss state connected sport = :ssh
Netid State      Recv-Q Send-Q     Local Address:Port                      Peer Address:Port
tcp   ESTAB      0      0          192.168.0.136:ssh                      192.168.0.102:46540

類似的,可以列出指定的 host 或者 ip 段。例如,列出到達 74.125.0.0/16 子網的連線,這個子網屬於 Google:

$ ss state all dst 74.125.0.0/16
Netid State      Recv-Q Send-Q     Local Address:Port                      Peer Address:Port
tcp   ESTAB      0      0          192.168.0.136:33616                   74.125.142.189:https
tcp   ESTAB      0      0          192.168.0.136:42034                    74.125.70.189:https
tcp   ESTAB      0      0          192.168.0.136:57408                   74.125.202.189:https

ss與 iptables 的語法非常相同,如果已經熟悉了其語法,ss 非常容易上手。也可以安裝 iproute2-doc 包, 透過 /usr/share/doc/iproute2-doc/ss.html 獲得完整文件。

還不快試試! 你就可以知道它有多棒。無論如何,讓我輸入的字元越少我越高興。


via: https://insights.ubuntu.com/2017/07/25/ss-another-way-to-get-socket-statistics/

作者:Mathieu Trudel-Lapierre 譯者:VicYu 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

ss:檢視網路連線的另一種方法

相關文章