ss:查看网络连接的另一种方法

2017 年 8 月 8 日 Linux爱好者

(点击上方公众号,可快速关注)


英文:Ubuntu Insight,翻译:Linux中国/Vic020

linux.cn/article-8727-1.html

如有好文章投稿,请点击 → 这里了解详情


在之前的文章中,我提到过 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    


类似的,可以列出指定的 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 获得完整文档。


还不快试试! 你就可以知道它有多棒。无论如何,让我输入的字符越少我越高兴。



看完本文有收获?请分享给更多人

关注「Linux 爱好者」,提升Linux技能

登录查看更多
0

相关内容

Secure Shell(SSH)为创建在应用层和传输层基础上的安全协议。
一份简明有趣的Python学习教程,42页pdf
专知会员服务
76+阅读 · 2020年6月22日
【ICML2020-哈佛】深度语言表示中可分流形
专知会员服务
12+阅读 · 2020年6月2日
【WWW2020-微软】理解用户行为用于文档推荐
专知会员服务
35+阅读 · 2020年4月5日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
【ICLR2020-】基于记忆的图网络,MEMORY-BASED GRAPH NETWORKS
专知会员服务
108+阅读 · 2020年2月22日
PHP使用Redis实现订阅发布与批量发送短信
安全优佳
7+阅读 · 2019年5月5日
利用神经网络进行序列到序列转换的学习
AI研习社
12+阅读 · 2019年4月26日
浅谈浏览器 http 的缓存机制
前端大全
6+阅读 · 2018年1月21日
Deep Co-Training for Semi-Supervised Image Segmentation
A Sketch-Based System for Semantic Parsing
Arxiv
4+阅读 · 2019年9月12日
Two Stream 3D Semantic Scene Completion
Arxiv
4+阅读 · 2018年7月16日
VIP会员
Top
微信扫码咨询专知VIP会员