Home Archives Categories Tags

Linux中ss命令的使用方法

发布时间: 更新时间: 总字数:1407 阅读时间:3m 作者: 分享

在无数次使用过netstat命令后,终于有一天发现了ss命令。好用、强大呀。

ss 简介

ss是Socket Statistics的缩写。ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。

ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效。当然,如果你的系统中没有tcp_diag,ss也可以正常运行,只是效率会变得稍慢。

ss -help

[root@xiexianbin_cn ~]# ss -h
Usage: ss [ OPTIONS ]
       ss [ OPTIONS ] [ FILTER ]
   -h, --help       this message
   -V, --version    output version information
   -n, --numeric    don't resolve service names
   -r, --resolve       resolve host names
   -a, --all        display all sockets
   -l, --listening  display listening sockets
   -o, --options       show timer information
   -e, --extended      show detailed socket information
   -m, --memory        show socket memory usage
   -p, --processes  show process using socket
   -i, --info       show internal TCP information
   -s, --summary    show socket usage summary

   -4, --ipv4          display only IP version 4 sockets
   -6, --ipv6          display only IP version 6 sockets
   -0, --packet display PACKET sockets
   -t, --tcp        display only TCP sockets
   -u, --udp        display only UDP sockets
   -d, --dccp       display only DCCP sockets
   -w, --raw        display only RAW sockets
   -x, --unix       display only Unix domain sockets
   -f, --family=FAMILY display sockets of type FAMILY

   -A, --query=QUERY, --socket=QUERY
       QUERY := {all|inet|tcp|udp|raw|unix|packet|netlink}[,QUERY]

   -D, --diag=FILE  Dump raw information about TCP sockets to FILE
   -F, --filter=FILE   read filter information from FILE
       FILTER := [ state TCP-STATE ] [ EXPRESSION ]

netstat 与 ss

netstat命令是net-tools工具集中的一员:

[root@xiexianbin_cn ~]# rpm -qa | grep net-tools
net-tools-1.60-110.el6_2.x86_64

而ss命令是iproute工具集中的一员:

[root@xiexianbin_cn ~]# rpm -qf /usr/sbin/ss
iproute-2.6.32-45.el6.x86_64
[root@xiexianbin_cn ~]# rpm -qa iproute
iproute-2.6.32-45.el6.x86_64

如果你无法使用ss命令,那么可能是缺少了iproute,需要安装一下:

yum install iproute iproute-doc

从某种意义上说,iproute工具集几乎可以替代掉net-tools工具集,具体的替代方案是这样的:

用途 net-tool iproute2
地址和链路配置 ifconfig ip addr, ip link
路由表 route ip route
邻居 arp ip neigh
VLAN vconfig ip link
隧道 iptunnel ip tunnel
组播 ipmaddr ip maddr
统计 netstat ss

使用

1. 查看网络连接统计

[root@xiexianbin_cn ~]# ss -s
Total: 95 (kernel 102)
TCP:   9 (estab 2, closed 1, orphaned 0, synrecv 0, timewait 1/0), ports 7

Transport Total     IP        IPv6
*     102       -         -        
RAW   0         0         0        
UDP   10        10        0        
TCP   8         8         0        
INET      18        18        0        
FRAG      0         0         0

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

2. 查看所有打开的网络端口

[root@xiexianbin_cn ~]# ss -l
State       Recv-Q Send-Q                                           Local Address:Port                                               Peer Address:Port   
LISTEN      0      128                                                          *:50414                                                         *:*       
LISTEN      0      128                                                          *:sunrpc                                                        *:*       
LISTEN      0      5                                                121.42.140.63:http                                                          *:*       
LISTEN      0      5                                                121.42.140.63:webcache                                                       *:*       
LISTEN      0      5                                                192.168.122.1:domain                                                        *:*       
LISTEN      0      128                                                          *:ssh                                                           *:*       

使用-pl参数的话,则会列出具体的程序名称

[root@xiexianbin_cn ~]# ss -pl
State       Recv-Q Send-Q                                           Local Address:Port                                               Peer Address:Port   
LISTEN      0      128                                                          *:50414                                                         *:*        users:(("rpc.statd",1273,8))
LISTEN      0      128                                                          *:sunrpc                                                        *:*        users:(("rpcbind",1249,8))
LISTEN      0      5                                                121.42.140.63:http                                                          *:*        users:(("jekyll",27567,5))
LISTEN      0      5                                                121.42.140.63:webcache                                                       *:*        users:(("jekyll",27508,5))
LISTEN      0      5                                                192.168.122.1:domain                                                        *:*        users:(("dnsmasq",1571,6))
LISTEN      0      128                                                          *:ssh                                                           *:*        users:(("sshd",1390,3))

3. 查看所有的socket连接

[root@xiexianbin_cn ~]# ss -a
State       Recv-Q Send-Q                                                             Local Address:Port                                                                 Peer Address:Port   
LISTEN      0      128                                                                            *:50414                                                                           *:*       
LISTEN      0      128                                                                            *:sunrpc                                                                          *:*       
LISTEN      0      5                                                                  121.42.140.63:http                                                                            *:*       
LISTEN      0      5                                                                  121.42.140.63:webcache                                                                         *:*       
LISTEN      0      5                                                                  192.168.122.1:domain                                                                          *:*       
LISTEN      0      128                                                                            *:ssh                                                                             *:*       
ESTAB       0      0                                                                  121.42.140.63:60264                                                             140.205.140.205:http    
ESTAB       0      332                                                                121.42.140.63:ssh                                                                116.227.15.201:53478   

查看TCP sockets,使用-ta选

[root@xiexianbin_cn ~]# ss -ta
State       Recv-Q Send-Q                                           Local Address:Port                                               Peer Address:Port   
LISTEN      0      128                                                          *:50414                                                         *:*       
LISTEN      0      128                                                          *:sunrpc                                                        *:*       
LISTEN      0      5                                                121.42.140.63:http                                                          *:*       
LISTEN      0      5                                                121.42.140.63:webcache                                                       *:*       
LISTEN      0      5                                                192.168.122.1:domain                                                        *:*       
LISTEN      0      128                                                          *:ssh                                                           *:*       
ESTAB       0      0                                                121.42.140.63:60264                                           140.205.140.205:http    
ESTAB       0      300                                              121.42.140.63:ssh                                              116.227.15.201:53478   
TIME-WAIT   0      0                                                121.42.140.63:http                                              123.125.71.77:17852   

查看UDP sockets,使用-ua选项

[root@xiexianbin_cn ~]# ss -ua
State       Recv-Q Send-Q                                           Local Address:Port                                               Peer Address:Port   
UNCONN      0      0                                                            *:56733                                                         *:*       
UNCONN      0      0                                                            *:vsinet                                                        *:*       
UNCONN      0      0                                                192.168.122.1:domain                                                        *:*       
UNCONN      0      0                                                            *:bootps                                                        *:*       
UNCONN      0      0                                                            *:sunrpc                                                        *:*       
UNCONN      0      0                                                192.168.122.1:ntp                                                           *:*       
UNCONN      0      0                                                121.42.140.63:ntp                                                           *:*       
UNCONN      0      0                                                    127.0.0.1:ntp                                                           *:*       
UNCONN      0      0                                                            *:ntp                                                           *:*       
UNCONN      0      0                                                    127.0.0.1:659                                                           *:*       

查看RAW sockets,使用-wa选项

[root@xiexianbin_cn ~]# ss -wa
State       Recv-Q Send-Q                                           Local Address:Port                                               Peer Address:Port   

查看UNIX sockets,使用-xa选项

[root@xiexianbin_cn ~]# ss -xa
Netid State      Recv-Q Send-Q                                         Local Address:Port                                             Peer Address:Port   
u_str LISTEN     0      0                                       @/com/ubuntu/upstart 7885                                                        * 0      
u_str LISTEN     0      0                               /var/run/openvswitch/db.sock 9977                                                        * 0      
u_str LISTEN     0      0                  /var/run/openvswitch/ovsdb-server.931.ctl 9978                                                        * 0      
u_str LISTEN     0      0                  /var/run/openvswitch/ovs-vswitchd.942.ctl 10020                                                       * 0      
u_str ESTAB      0      0                                                          * 10021                                                       * 0      
u_str ESTAB      0      0                               /var/run/openvswitch/db.sock 10023                                                       * 0      
u_str LISTEN     0      0                                      /var/run/rpcbind.sock 10523                                                       * 0      
u_str LISTEN     0      0                                       /var/run/nscd/socket 10779                                                       * 0      
u_str LISTEN     0      0                              /var/run/libvirt/libvirt-sock 11319                                                       * 0      
u_str LISTEN     0      0                           /var/run/libvirt/libvirt-sock-ro 11320                                                       * 0      
u_str LISTEN     0      0                               /tmp/qtsingleapp-aegiss-a5d2 12439                                                       * 0      
u_str LISTEN     0      0            /var/tmp/alibabasecurityaegisdetectservice.root 12446                                                       * 0      
u_str LISTEN     0      0      /tmp/Aegis-<Guid(5A2C30A2-A87D-490A-9281-6765EDAD7CBA)> 12449                                                       * 0      
u_str LISTEN     0      0                               /tmp/qtsingleapp-aegisG-46d2 1663657                                                     * 0      
u_str ESTAB      0      0                                                          * 1663663                                                     * 0      
u_str ESTAB      0      0      /tmp/Aegis-<Guid(5A2C30A2-A87D-490A-9281-6765EDAD7CBA)> 1663664                                                     * 0      
u_dgr ESTAB      0      0                                    @/org/kernel/udev/udevd 8400                                                        * 0      
u_dgr ESTAB      0      0                                                          * 8413                                                        * 0      
u_dgr ESTAB      0      0                                                          * 8414                                                        * 0      
u_dgr ESTAB      0      0                                                   /dev/log 10426                                                       * 0      
u_dgr ESTAB      0      0                                                          * 10530                                                       * 0      
u_dgr ESTAB      0      0                                                          * 10604                                                       * 0      
u_dgr ESTAB      0      0                                                          * 11037                                                       * 0      
u_dgr ESTAB      0      0                                                          * 11196                                                       * 0      
u_dgr ESTAB      0      0                                                          * 11258                                                       * 0      
u_dgr ESTAB      0      0                                                          * 11523                                                       * 0      
u_dgr ESTAB      0      0                                                          * 2640389                                                     * 0      

查看某端口的进程,使用-选项

[root@xiexianbin_cn ~]# ss -pn | grep 35559
tcp    ESTAB      0      0      127.0.0.1:35559              10.3.13.61:5672                users:(("aodh-notifier: ",pid=4380,fd=10))

完毕。

最新评论
加载中...