Linux中國
ss:查看網路連接的另一種方法
在之前的文章中,我提到過 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(排除了 listening 和 closed ):
$ 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
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive
對這篇文章感覺如何?
太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
More in:Linux中國
如何通過 VLC 使用字幕
使用 VLC 媒體播放器播放和管理字幕的新手指南。
Unix 桌面:在 Linux 問世之前
僅僅開源還不足以實現開放,還需開放標準和建立共識。
Valve 對於 Ubuntu 的 Snap 版本的 Steam 並不滿意:原因何在
你可能會發現,Snap 版本的 Steam 並不如你期待的那樣好,你怎麼看?
Wine 9.0 發布,實驗性地加入了 Wayland 驅動
Wine 的這個新版本正在為未來做好準備!