在linux的网络分析中,ss命令绝对是一个很有用的命令,本文简单介绍一些使用场景。
而且对比netstat命令,ss命令执行速度会更快。
因为netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多。
【1】列出http连接(访问别人或者被别人访问)
ss -o state established '( dport = :http or sport = :http )'
【2】列出进程以及监听的端口
ss -pl
【3】统计当前服务器并发连接数
ss -o state established | wc -l
【5】列出各种状态的连接
ss -o state 【STATE-FILTER】
STATE-FILTER 用 -h 就可以看到对应的描述
STATE-FILTER := {all|connected|synchronized|bucket|big|TCP-STATES}
TCP-STATES := {established|syn-sent|syn-recv|fin-wait-{1,2}|time-wait|closed|close-wait|last-ack|listen|closing}
connected := {established|syn-sent|syn-recv|fin-wait-{1,2}|time-wait|close-wait|last-ack|closing}
synchronized := {established|syn-recv|fin-wait-{1,2}|time-wait|close-wait|last-ack|closing}
bucket := {syn-recv|time-wait}
big := {established|syn-sent|fin-wait-{1,2}|closed|close-wait|last-ack|listen|closing}
【6】使用IP作为条件筛选连接
ss src 1.1.1.1
【7】使用端口作为条件筛选连接
ss dport = :80
dport是目标端口,sport是源端口
至于运算符 也可以用 >,< ,!=
欢迎关注我的公众号:龙叔运维
持续分享运维经验