Linux之ss命令

落花踏尽游何处,笑入胡姬酒肆中。这篇文章主要讲述Linux之ss命令相关的知识,希望能为你提供帮助。
命令格式

ss [参数] ss [参数] [过滤]

命令功能
命令参数
  • -h, --help 帮助信息
  • -V, --version 程序版本信息
  • -n, --numeric 不解析服务名称
  • -r, --resolve解析主机名
  • -a, --all 显示所有套接字(sockets)
  • -l, --listening 显示监听状态的套接字(sockets)
  • -o, --options显示计时器信息
  • -e, --extended显示详细的套接字(sockets)信息
  • -m, --memory显示套接字(socket)的内存使用情况
  • -p, --processes 显示使用套接字(socket)的进程
  • -i, --info 显示 TCP内部信息
  • -s, --summary 显示套接字(socket)使用概况
  • -4, --ipv4仅显示IPv4的套接字(sockets)
  • -6, --ipv6仅显示IPv6的套接字(sockets)
  • -0, --packet显示 PACKET 套接字(socket)
  • -t, --tcp 仅显示 TCP套接字(sockets)
  • -u, --udp 仅显示 UCP套接字(sockets)
  • -d, --dccp 仅显示 DCCP套接字(sockets)
  • -w, --raw 仅显示 RAW套接字(sockets)
  • -x, --unix 仅显示 Unix套接字(sockets)
  • -f, --family=FAMILY显示 FAMILY类型的套接字(sockets),FAMILY可选,支持unix, inet, inet6, link, netlink
  • -A, --query=QUERY, --socket=QUERYQUERY := all|inet|tcp|udp|raw|unix|packet|netlink[,QUERY]
  • -D, --diag=FILE将原始TCP套接字(sockets)信息转储到文件
  • -F, --filter=FILE从文件中读取过滤器信息 FILTER := [ state TCP-STATE ] [ EXPRESSION ]
显示TCP连接
> ss -a -t

Linux之ss命令

文章图片

显示UDP链接
> ss -a -u

Linux之ss命令

文章图片

显示Sokets摘要
> ss -s

【Linux之ss命令】
Linux之ss命令

文章图片

显示本地打开的所有端口
> ss -ln

Linux之ss命令

文章图片

查看进程使用的socket
> ss -pl

Linux之ss命令

文章图片

找出打开套接字/端口应用程序
> ss -nlp | grep 3306

Linux之ss命令

文章图片

显示所有状态为established的SMTP连接
> ss -o state established ( dport = :smtp or sport = :smtp )

显示所有状态为Established的HTTP连接
> ss -o state established ( dport = :http or sport = :http )

用TCP 状态过滤Sockets
> ss -4 state FILTER-NAME-HERE > ss -6 state FILTER-NAME-HERE

  • listen:侦听来自远方的TCP端口的连接请求
  • syn-sent:再发送连接请求后等待匹配的连接请求(客户端)
  • syn-recv:再收到和发送一个连接请求后等待对方对连接请求的确认(服务器)
  • established:代表一个打开的连接
  • fin-wait-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认
  • fin-wait-2:从远程TCP等待连接中断请求
  • close-wait:等待从本地用户发来的连接中断请求
  • closing:等待远程TCP对连接中断的确认
  • last-ack:等待原来的发向远程TCP的连接中断请求的确认
  • time-wait:等待足够的时间以确保远程TCP接收到连接中断请求的确认
  • closed:没有任何连接状态
  • all : 所有以上状态
  • connected : 除了listen and closed的所有状态
  • synchronized :所有已连接的状态除了syn-sent
  • bucket : 显示状态为maintained as minisockets,如:time-wait和syn-recv.
  • big : 和bucket相反.
匹配远程地址和端口号
> ss dst ADDRESS_PATTERN > ss dst 192.168.1.1 > ss dst 192.168.21.1:http > ss dst 192.168.21.1:smtp > ss dst 192.168.21.1:443

将本地或者远程端口和一个数比较
> sssport = :http > ssdport = :http > ssdport \\> :1024 > sssport \\> :1024 > ss sport \\< :32000 > sssport eq :22 > ssdport != :22 > ssstate connected sport = :http > ss \\( sport = :http or sport = :https \\) > ss -o state fin-wait-1 \\( sport = :http or sport = :https \\) dst 192.168.1/24

ss 和 netstat 效率对比
  • time netstat -at
  • time ss
> time netstat -at real0m10.849s user0m0.013s sys 0m0.008s > time ss real0m0.008s user0m0.004s sys 0m0.004s

原文链接:https://rumenz.com/rumenbiji/linux-ss.html
微信公众号:入门小站
Linux之ss命令

文章图片


    推荐阅读