使用SS监视GNU / Linux中新用户的连接

尝试消除问题的工具

广受欢迎的Netstat工具 ,已经描述了很多年了,并且已经开发了用于命令行替换它的更新工具。即ss。

鉴于命令的强大功能以及使用过程中可获得的信息量,例如TCP,UDP,PACKET,RAW,DCCP和UNIX套接字的信息,使用ss非常简单。

使用ss

ss

如前所述,在命令行实用程序中,使用ss相对容易。手册页对于有问题的任何人也有详细记录。

SS的基本用法

只需输入 ss 将为您提供当前具有连接的所有套接字的列表。

要仅列出当前正在监听的套接字: ss -l

但是,如果我们要过滤掉某些类型的连接并仅列出某些其他类型,例如仅显示TCP,UDP或UNIX连接,该怎么办?

  • 使用ss -t进行TCP连接
  • 使用ss -u进行UDP连接
  • 使用ss -x进行UNIX连接

但是请注意,使用上述命令时,只会显示当前已完全建立的连接,并且还必须添加 -至 选项,如果要同时列出已建立和正在监听的套接字。

-n 选项,禁用主机名解析,因此您只会看到IP地址,如果您不太希望看到主机名,则可以稍微加快速度。

利用ss的另一种便捷方法是通过使用状态。这使您可以专门使用ss仅以您要查找的确切状态为目标的套接字。

状态过滤

具有状态过滤功能的ss的用法是: ss [选项] [状态] [过滤器]

根据手册页,可用的过滤器/标识符为:

所有标准TCP状态:已建立,同步发送,syn-recv,fin-wait-1,fin-wait-2,时间等待,关闭,关闭等待,最后确认,监听和关闭。

  • 全部-适用于所有州
  • 已连接-除监听和关闭状态以外的所有状态
  • 已同步-除同步状态外的所有连接状态
  • 桶-状态,以minisocket的形式保存,即时间等待和syn-recv
  • 大-桶对面

一些简单的使用状态的例子:

  • ss -t状态时间等待
  • ss -t状态已建立

您还可以过滤IPv4和IPv6:

  • ss -4
  • ss -6

或合并它们:

  • ss -t4状态存储区

当然,您可能不会发现使用ss监视某些状态有很大用处,因为捕获套接字发送或接收数据的特定时间可能很繁琐,为此目的最好使用'watch'命令:

  • 看-n 1'ss -t4状态同步接收'

此命令将在TCP IPv4套接字接收到数据时向您显示刷新报告。

结束语

一旦掌握了ss,使用ss就会非常简单,对于想深入研究网络,服务器甚至只是简单的游戏托管的用户来说,学习它会很有用!