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获得完整文档。
原文来自:http://blog.jobbole.com/112061/
本文地址:https://www.linuxprobe.com/net-connect-cmd.html
4000520066 欢迎批评指正
All Rights Reserved 新浪公司 版权所有