ss命令: 显示Linux的TCP / UDP连接的信息网络和Socket(套接字)

套接字:用于描述IP地址和端口,是一个通信链的句柄。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。

lwy@ubuntu007:~$ ss –help   --ss的参数

Usage: ss [ OPTIONS ]

       ss [ OPTIONS ] [ FILTER ]

   -h, --help    this message  --显示帮助信息

   -V, --version output version information  --显示版本

   -n, --numeric don't resolve service names --直接使用IP地址,而不通过域名服务器

   -r, --resolve       resolve host names

   -a, --all     display all sockets

   -l, --listening      display listening sockets

   -o, --options       show timer information --显示tcp定时器

   -e, --extended      show detailed socket information –显示更多其他的socket信息

   -m, --memory        show socket memory usage –显示socket内存利用

   -p, --processes      show process using socket –显示socket进程

   -i, --info    show internal TCP information  --显示内部tcp信息

   -s, --summary show socket usage summary  --连接统计

   -4, --ipv4          display only IP version 4 sockets  --显示ipv4的socket

   -6, --ipv6          display only IP version 6 sockets  --显示ipv6的socket

   -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   --显示raw传输协议的连接状况

   -x, --unix    display only Unix domain sockets

   -f, --family=FAMILY display sockets of type FAMILY

   -A, --query=QUERY

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

   -F, --filter=FILE   read filter information from FILE

       FILTER := [ state TCP-STATE ] [ EXPRESSION ]

lwy@ubuntu007:~$ sudo dhclient -d eth0  --动态获取下主机的ip

lwy@ubuntu007:~$ ss –s   --列出当前socket详细信息

Total: 427 (kernel 0)

TCP:   22 (estab 1, closed 2, orphaned 0, synrecv 0, timewait 1/0), ports 0

Transport Total     IP        IPv6

*         0         -         -      

RAW       0         0         0      

UDP       5         3         2      

TCP       20        11        9      

INET      25        14        11     

FRAG      0         0         0       

lwy@ubuntu007:~$ ss –l  --显示所有打开的网络端口

Recv-Q Send-Q           Local Address:Port               Peer Address:Port 

0      2                            *:3389                          *:*     

0      50                          :::microsoft-ds                      :::*     

0      100                         :::imaps                        :::*     

0      100                          *:imaps                         *:*     

lwy@ubuntu007:~$ ss –pl  --显示每个进程具体打开的socket

Recv-Q Send-Q           Local Address:Port               Peer Address:Port 

0      2                            *:3389                          *:*     

0      50                          :::microsoft-ds                      :::*     

0      100                         :::imaps                        :::*     

lwy@ubuntu007:~$ ss -t –a  --显示所有打开的tcp socket

State      Recv-Q Send-Q      Local Address:Port          Peer Address:Port 

LISTEN     0      2                       *:3389                     *:*     

LISTEN     0      50                     :::microsoft-ds                 :::*     

LISTEN     0      100                    :::imaps                   :::*     

ESTAB      0      176       192.168.213.104:ssh         192.168.211.38:4441  

lwy@ubuntu007:~$ ss -t

State      Recv-Q Send-Q      Local Address:Port          Peer Address:Port 

ESTAB      0      176       192.168.213.104:ssh         192.168.211.38:4441  

lwy@ubuntu007:~$ ss -u –a   //或者ss –ua ,显示所有的UDP Socekt

State      Recv-Q Send-Q      Local Address:Port          Peer Address:Port 

UNCONN     0      0                       *:35255                    *:*     

UNCONN     0      0                       *:bootpc                   *:*     

UNCONN     0      0                       *:mdns                     *:*     

UNCONN     0      0                      :::44471                   :::*     

UNCONN     0      0                      :::mdns                    :::*     

显示所有已建立的SMTP连接

lwy@ubuntu007:~$ ss -o state established '( dport = :http or sport = :http )'

Recv-Q Send-Q           Local Address:Port               Peer Address:Port 

显示所有已建立的HTTP连接

lwy@ubuntu007:~$ ss -o state established '( dport = :smtp or sport = :smtp )'

Recv-Q Send-Q           Local Address:Port               Peer Address:Port 

找出所有连接X服务器的进程

lwy@ubuntu007:~$ ss -x src /tmp/.X11-unix/*

Netid  State      Recv-Q Send-Q   Local Address:Port       Peer Address:Port 

 

Netstat命令:用于显示tcp/ip协议相关的统计数据,检查本地系统网络连接的信息。

lwy@ubuntu007:~$ netstat –h    --netstat的参数

usage: netstat [-vWeenNcCF] [<Af>] -r         netstat {-V|--version|-h|--help}

       netstat [-vWnNcaeol] [<Socket> ...]

       netstat { [-vWeenNac] -i | [-cWnNe] -M | -s }

        -r, --route              display routing table   --显示路由表

        -i, --interfaces         display interface table  --显示网卡接口信息

        -g, --groups             display multicast group memberships –显示多重广播功能群组组员名单

        -s, --statistics         display networking statistics (like SNMP)  --显示网络统计信息

        -M, --masquerade         display masqueraded connections  --显示伪装网络连接

        -v, --verbose            be verbose  --显示指令执行过程

        -W, --wide               don't truncate IP addresses  --

        -n, --numeric            don't resolve names  --直接使用Ip地址,不通过域名服务器

        --numeric-hosts          don't resolve host names

        --numeric-ports          don't resolve port names

        --numeric-users          don't resolve user names

        -N, --symbolic           resolve hardware names  显示硬件外围设备的连接名称

        -e, --extend             display other/more information  --显示其他更多信息

        -p, --programs           display PID/Program name for sockets –显示正使用的进程号和套接字程序识别码

        -c, --continuous         continuous listing   --持续列出网络状态

        -l, --listening          display listening server sockets  --查看监听的sockets

        -a, --all, --listening   display all sockets (default: connected) –显示所有的sockets

        -o, --timers             display timers  --显示计时器

        -F, --fib                display Forwarding Information Base (default) –显示转发信息

        -C, --cache              display routing cache instead of FIB –显示路由的cache

  <Socket>={-t|--tcp} {-u|--udp} {-w|--raw} {-x|--unix} --ax25 --ipx --netrom

  <AF>=Use '-6|-4' or '-A <af>' or '--<af>'; default: inet

  List of possible address families (which support routing):

    inet (DARPA Internet) inet6 (IPv6) ax25 (AMPR AX.25)

    netrom (AMPR NET/ROM) ipx (Novell IPX) ddp (Appletalk DDP)

    x25 (CCITT X.25)

lwy@ubuntu007:~$ LANG=us

lwy@ubuntu007:~$ netstat –tunlp

lwy@ubuntu007:~$ netstat -i

Kernel Interface table

Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg

eth0       1500 0      8691      0      0 0           578      0      0      0 BMRU

lo        16436 0         4      0      0 0             4      0      0      0 LRU