【LSP】网络检测神器 ss 命令

编程开发   © 文章版权由 admin 解释,禁止匿名转载

#楼主# 2020-10-9

今天我们来介绍一下 Linux ss 命令。

ss 是 Socket Statistics 的缩写,用来统计 socket 连接的相关信息,它跟 netstat 差不多,但有着比 netstat 更强大的统计功能,能够显示更多更详细的连接信息。

刚开始接触 ss 命令可能会比较困难,我们可通过 ss -h 或者 ss -help 来详细学习 ss 的选项功能。当然,最好的办法是直接尝试一些常用的命令来学习 ss 。

下面我们来了解一下 ss 的一些实用用法。

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

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 连接。为了方便阅读,这里只显示一页的信息,省略其他大部分信息:

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

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

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

这里就先介绍这么多,其他的详细内容请参考帮助手册( ss -h)。

另外,这里提供一些小技巧,你可以将那些最有用的选项转换为别名,能让你更容易使用。例如:

$ alias listen="ss -lt"
$ alias socksum="ss -s"

成为第一个回答人

评论

登录后才可发表内容
  • 主题

    124

  • 帖子

    0

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.0796s Mem:2127Kb