加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-13 17:42:26 所属栏目:Linux 来源:网络整理
导读:《LINUX教学:ss:查看网络连接的另一种方法》要点: 本文介绍了LINUX教学:ss:查看网络连接的另一种方法,希望对您有用。如果有疑问,可以联系我们。 在之前的文章中,我提到过 ss ,它是 iproute2 包附带的另一个工具,允许你查询 socket 的有关统计信息.可以

《LINUX教学:ss:查看网络连接的另一种方法》要点:
本文介绍了LINUX教学:ss:查看网络连接的另一种方法,希望对您有用。如果有疑问,可以联系我们。

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

在之前的文章中,我提到过 ss,它是 iproute2 包附带的另一个工具,允许你查询 socket 的有关统计信息.可以完成 netstat 同样的任务,但是,ss 稍微快一点并且命令更简短.

直接输入 ss,默认会显示与 netstat 同样的内容,而且输入类似的参数可以获取你想要的类似输出.例如:

  1. $ ss-t
  2. State ? ? ? Recv-Q Send-Q ? ? ? LocalAddress:Port ? ? ? ? ? ? ? ? ? ? ? ?PeerAddress:Port
  3. ESTAB ? ? ? 0 ? ? ?0 ? ? ? ? ? ? ? ?127.0.0.1:postgresql ? ? ? ? ? ? ? ? ? ? 127.0.0.1:48154
  4. ESTAB ? ? ? 0 ? ? ?0 ? ? ? ? ? ?192.168.0.136:35296 ? ? ? ? ? ? ? ? ? ? ?192.168.0.120:8009
  5. ESTAB ? ? ? 0 ? ? ?0 ? ? ? ? ? ?192.168.0.136:47574 ? ? ? ? ? ? ? ? ? ? 173.194.74.189:https
  6. […]

ss -t 只显示 TCP 连接.ss -u 用于显示 UDP 连接,-l 参数只会显示监听的端口,并且可以进一步过滤到任何想要的信息.

我并没有测试所有可用参数,然则你甚至可以使用 -K 强制关闭 socket.

ss 真正耀眼的地方是其内置的过滤才能.让我们列出所有端口为 22(ssh)的连接:

  1. $ ss state all sport =:ssh
  2. NetidState ? ? ?Recv-Q Send-Q ? ? LocalAddress:Port ? ? ? ? ? ? ? ? ? ? ?PeerAddress:Port
  3. tcp ? LISTEN ? ? 0 ? ? ?128 ? ? ? ? ? ? ? ? ? ?*:ssh ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?*:*
  4. tcp ? ESTAB ? ? ?0 ? ? ?0 ? ? ? ? ?192.168.0.136:ssh ? ? ? ? ? ? ? ? ? ? ?192.168.0.102:46540
  5. tcp ? LISTEN ? ? 0 ? ? ?128 ? ? ? ? ? ? ? ? ? :::ssh ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? :::*

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

  1. $ ss state connected sport =:ssh
  2. NetidState ? ? ?Recv-Q Send-Q ? ? LocalAddress:Port ? ? ? ? ? ? ? ? ? ? ?PeerAddress:Port
  3. tcp ? ESTAB ? ? ?0 ? ? ?0 ? ? ? ? ?192.168.0.136:ssh ? ? ? ? ? ? ? ? ? ? ?192.168.0.102:46540

类似的,可以列出指定的 host 或者 ip 段.例如,列出达到 74.125.0.0/16 子网的连接,这个子网属于 Google:

  1. $ ss state all dst 74.125.0.0/16
  2. NetidState ? ? ?Recv-Q Send-Q ? ? LocalAddress:Port ? ? ? ? ? ? ? ? ? ? ?PeerAddress:Port
  3. tcp ? ESTAB ? ? ?0 ? ? ?0 ? ? ? ? ?192.168.0.136:33616 ? ? ? ? ? ? ? ? ? 74.125.142.189:https
  4. tcp ? ESTAB ? ? ?0 ? ? ?0 ? ? ? ? ?192.168.0.136:42034 ? ? ? ? ? ? ? ? ? ?74.125.70.189:https
  5. 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中国 荣誉推出

本文永远更新链接地址

更多LINUX教程,尽在编程之家PHP学院专栏。欢迎交流《LINUX教学:ss:查看网络连接的另一种方法》!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读