【场景一:查看当前服务器的网络连接统计】
$ ss -s
Total: 295 (kernel 312)
TCP: 48 (estab 1, closed 31, orphaned 0, synrecv 0, timewait 0/0), ports 13
Transport Total IP IPv6
* 312 - -
RAW 0 0 0
UDP 2 2 0
TCP 17 12 5
INET 19 14 5
FRAG 0 0 0
在服务器产生大量sockets连接时,我们会使用这个命令在做宏观统计。
【场景二:查看所有打开的网络端口】
$ ss -l
Recv-Q Send-Q Local Address:Port Peer Address:Port
0 128 :::webcache :::*
0 128 :::http :::*
0 128 :::snapenetio :::*
0 128 *:snapenetio *:*
0 50 *:8531 *:*
0 9 :::ftp :::*
0 9 *:ftp *:*
0 128 *:ddi-tcp-1 *:*
0 100 ::1:smtp :::*
0 100 127.0.0.1:smtp *:*
0 128 *:8541 *:*
0 128 127.0.0.1:entextxid *:*
0 50 *:12421 *:*
0 10 *:amqp *:*
0 128 *:12521 *:*
0 50 *: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选项。
(责任编辑:IT) |