Linux培训
达内IT学院

400-996-5531

Linux中网络检测神器ss命令介绍

  • 发布:Linux培训
  • 来源:良许Linux
  • 时间:2019-09-24 16:17

今天小编为大家介绍一下 Linux中 ss 命令。ss 是 Socket Statistics 的缩写,用来统计 socket 连接的相关信息,它跟 etstat 差不多,但有着比 netstat 更强大的统计功能,能够显示更多更详细的连接信息。刚开始接触 ss 命令可能会比较困难,我们可通过 ss -h 或者 ss -help 来详细学习 ss 的选项功能。当然,最好的办法是直接尝试一些常用的命令来学习 ss 。

Linux中网络检测神器ss命令介绍

下面我们来了解一下 ss 的一些实用用法。ss -s 是一个非常有用的命令。它可以按网络传输类型显示总体统计信息,我们不妨来测试一下:

$ ss -s

Total: 524

TCP: 8 (estab 1, closed 0, orphaned 0, timewait 0)

Transport Total IP IPv6

RAW 2 1 1

UDP 7 5 2

TCP 8 6 2

INET 17 12 5

FRAG 0 0 0

· RAW Socket 原始套接字。允许直接发送和接收 IP 数据包,无需满足特定的传输协议,用于 namp 等安全应用。

· TCP 传输控制协议。是我们网络连接当中的主要连接协议。

· UDP 用户数据报协议。类似于 TCP 但没有错误检查。

· INET 包含上述项。( INET4 和 INET6 可以通过一些 ss 命令单独查看)。

· FRAG 可以理解为碎片的意思。

显然,上面的输出结果并没有直接显示详细的 socket 连接情况,我们可以看到最上面的 Total 行显示的 socket 总数是非常多的,不过,这种分类统计的方式在某些情况下很有用。如果想要查看具体的 socket 活动信息,我们可以使用 ss -a 命令,但是我们要做好心理准备查看一大堆的信息,我们可以先用 wc -l 来统计一下行数试探一波:

$ ss -a | wc -l

555

有木有被吓到?555 行数据!不过不必惊慌,我们可以查看指定类别的 socket 活动。

· ss -ta 转储所有 TCP socket

· ss -ua 转储所有 UDP socket

· ss -wa 转储所有 RAW socket

· ss -xa 转储所有 UNIX socket

· ss -4a 转储所有 IPV4 socket

· ss -6a 转储所有 IPV6 socket

不带参数的 ss 命令会显示所有已经建立的 socket 连接。为了方便阅读,这里只显示一页的信息,省略其他大部分信息:

$ ss | more

Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port

u_str ESTAB 0 0 * 20863 * 20864

u_str ESTAB 0 0 * 32232 * 33018

u_str ESTAB 0 0 * 33147 * 3257544ddddy

u_str ESTAB 0 0 /run/user/121/bus 32796 * 32795

u_str ESTAB 0 0 /run/user/121/bus 32574 * 32573

u_str ESTAB 0 0 * 32782 * 32783

u_str ESTAB 0 0 /run/systemd/journal/stdout 19091 * 18113

u_str ESTAB 0 0 * 769568 * 768429

u_str ESTAB 0 0 * 32560 * 32561

u_str ESTAB 0 0 @/tmp/dbus-8xbBdjNe 33155 * 33154

u_str ESTAB 0 0 /run/systemd/journal/stdout 32783 * 32782

…

tcp ESTAB 0 64 192.168.0.16:ssh 192.168.0.6:25944

tcp ESTAB 0 0 192.168.0.16:ssh 192.168.0.6:5385

要查看刚建立的 TCP 连接,使用 ss -t :

$ ss -t

State Recv-Q Send-Q Local Address:Port Peer Address:Port

ESTAB 0 64 192.168.0.16:ssh 192.168.0.6:25944

ESTAB 0 0 192.168.0.16:ssh 192.168.0.9:5385

要仅显示监听 socket ,尝试 ss -lt :

$ ss -lt

State Recv-Q Send-Q Local Address:Port Peer Address:Port

LISTEN 0 10 127.0.0.1:submission 0.0.0.0:*

LISTEN 0 128 127.0.0.53%lo:domain 0.0.0.0:*

LISTEN 0 128 0.0.0.0:ssh 0.0.0.0:*

LISTEN 0 5 127.0.0.1:ipp 0.0.0.0:*

LISTEN 0 10 127.0.0.1:smtp 0.0.0.0:*

LISTEN 0 128 [::]:ssh [::]:*

LISTEN 0 5 [::1]:ipp [::]:*

若你想要显示端口号而不是服务名,则 ss -ltn :

$ ss -ltn

State Recv-Q Send-Q Local Address:Port Peer Address:Port

LISTEN 0 10 127.0.0.1:587 0.0.0.0:*

LISTEN 0 128 127.0.0.53%lo:53 0.0.0.0:*

LISTEN 0 128 0.0.0.0:22 0.0.0.0:*

LISTEN 0 5 127.0.0.1:631 0.0.0.0:*

LISTEN 0 10 127.0.0.1:25 0.0.0.0:*

LISTEN 0 128 [::]:22 [::]:*

LISTEN 0 5 [::1]:631 [::]:*

这里就先介绍这么多,其他的详细内容请参考帮助手册( ss -h)。另外,这里提供一些小技巧,你可以将那些最有用的选项转换为别名,能让你更容易使用。例如:

$ alias listen="ss -lt"

$ alias socksum="ss -s"

以上就是小编今天为大家分享的关于Linux中网络检测神器ss命令介绍的文章,希望本篇文章能够对正在从事Linux相关工作的小伙伴们有所帮助。想要了解更多Linux相关知识记得关注达内Linux培训官网。最后祝愿小伙伴们工作顺利!

来自公众号:良许Linux

【免责声明:本文图片及文字信息均由小编转载自网络,旨在分享提供阅读,版权归原作者所有,如有侵权请联系我们进行删除。】

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:零基础的Linux运维需要掌握的学习方法
下一篇:在Linux不同场景中Linux命令的使用方法

运维培训班出来好找活吗?

新能源运维工程师是干什么的

云计算就业岗位有哪些?

学物联网工程好就业吗?

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省