CentOS下使用ss查看网络端口等状态

分类:CentOS教程 阅读:92479 次

【场景一:查看当前服务器的网络连接统计】

$ss-s Total:295(kernel312) TCP:48(estab1,closed31,orphaned0,synrecv0,timewait0/0),ports13 TransportTotalIPIPv6 *312-- RAW000 UDP220 TCP17125 INET19145 FRAG000

在服务器产生大量sockets连接时,我们会使用这个命令在做宏观统计。

【场景二:查看所有打开的网络端口】

$ss-l Recv-QSend-QLocalAddress:PortPeerAddress:Port 0128:::webcache:::* 0128:::http:::* 0128:::snapenetio:::* 0128*:snapenetio*:* 050*:8531*:* 09:::ftp:::* 09*:ftp*:* 0128*:ddi-tcp-1*:* 0100::1:smtp:::* 0100127.0.0.1:smtp*:* 0128*:8541*:* 0128127.0.0.1:entextxid*:* 050*:12421*:* 010*:amqp*:* 0128*:12521*:* 050*:mysql*:*

如果使用-pl参数的话,则会列出具体的程序名称。你会在输出中看到类似于这样的内容:

("nginx",15786,6)

从中可以知道,某个socket连接是属于nginx程序的,nginx程序的PID是15786。

【场景三:查看这台服务器上所有的socket连接】

很简单,直接使用-a选项即可列出所有网络连接。

#ss-a

如果只想查看TCP sockets,那么使用-ta选项;
如果只想查看UDP sockets,那么使用-ua选项;
如果只想查看RAW sockets,那么使用-wa选项;
如果只想查看UNIX sockets,那么使用-xa选项。