10.8 ss:查看网络状态
ss命令
是类似并将取代netstat的工具,它能用来查看网络状态信息,包括TCP、UDP连接、端口等。它的优点是能够显示更多更详细的有关网络连接状态的信息,而且比netstat更快速更高效。
如果系统没有ss命令,那就需要安装一下,ss命令属于iproute包,因此安装命令是yum -y install iproute。
ss [选项] [过滤器]
ss命令的参数选项及说明
-n 显示IP地址,不进行DNS解析
-s 显示socket使用统计
-r 尝试解析数字IP地址和端口
-a 显示所有socket连接
-l 显示所有监听 socket
-o 显示计时器信息
-e 显示详细的socket信息
-m 显示socket的内存使用情况
-p 显示使用socket的进程
-i 显示TCP内部信息
-4 仅显示IPv4的socket
-6 仅显示IPv6的socket
-0 仅显示PACKET的socket
-t 仅显示TCP的socket
-u 仅显示UCP的socket
-d 仅显示DCCP的socket
-w 仅显示RAW的socket
-x 仅显示Unix的socket
常用选项组合(一)
[root@cs6 ~]# ss -an State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 :::22 :::* LISTEN 0 128 *:22 *:* LISTEN 0 100 ::1:25 :::* LISTEN 0 100 127.0.0.1:25 *:* ESTAB 0 64 10.0.0.100:22 10.0.0.1:1821 [root@cs6 ~]# ss -an|column -t State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 :::22 :::* LISTEN 0 128 *:22 *:* LISTEN 0 100 ::1:25 :::* LISTEN 0 100 127.0.0.1:25 *:* ESTAB 0 64 10.0.0.100:22 10.0.0.1:1821
常用选项组合(二)
[root@cs6 ~]# ss -lntup|column -t #<=显示所有正在监听的TCP和UDP连接。 Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port tcp LISTEN 0 128 :::22 :::* users:(("sshd",1358,4)) tcp LISTEN 0 128 *:22 *:* users:(("sshd",1358,3)) tcp LISTEN 0 100 ::1:25 :::* users:(("master",1437,13)) tcp LISTEN 0 100 127.0.0.1:25 *:* users:(("master",1437,12))
显示socket统计
[root@bzhl ~]# ss -s Total: 318 (kernel 663) TCP: 17 (estab 5, closed 0, orphaned 0, synrecv 0, timewait 0/0), ports 0 Transport Total IP IPv6 * 663 - - RAW 0 0 0 UDP 2 1 1 TCP 17 14 3 INET 19 15 4 FRAG 0 0 0
当服务器产生大量的socket连接时,通常会使用该命令来做宏观数据统计;ss的大部分参数应用和netstat很像,可以参考netstat相关参数的用法。