ss简单使用
ss即socket state。
1.常用语句
ss -l 显示所有处于监听的网络接口连接
ss -pl 显示所有处于监听的网络接口连接,及相应的进程名称、进号等
ss -t -a 显示所有tcp socket
ss -a -n -n表示让端口显示为数字格式,还不是默认的服务名称
ss -u -a 显示所有的UDP Socekt
ss -o state established '( dport = :smtp or sport = :smtp )' 显示所有已建立的SMTP连接
ss -o state established '( dport = :http or sport = :http )' 显示所有已建立的HTTP连接
ss -x src /tmp/.X11-unix/* 找出所有连接X服务器的进程
ss -s 列出当前socket详细信息:
解释:netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多。
time netstat -at
time ss
2.标准格式[6,7]
ss [ OPTIONS ] [ STATE-FILTER ] [ ADDRESS-FILTER ]
ss state connected
state可以为:established,syn-sent,syn-recv,fin-wait-1,fin-wait-2,time-wait,closed,close-wait,last-ack,listen,closing。
addr可以为:
dst ADDRESS_PATTERN
src ADDRESS_PATTERN
dport RELOP PORT
sport RELOP PORT
ss dst 192.168.0.1:80
ss -4 state closing
ss dst 123.1.2.100:http
ss dport OP PORT
ss sport \< :32000
多个子表达式之间可以组合,当然跟tcpdump一样,可以用or and not来组合。但括号要用转义符号表示。
ss -o state fin-wait-1 \( sport = :http or sport = :https \) dst 193.233.7/24
ss -lp src :8088 查看本机8088被那个进程占用(用lsof工具也可以看到,lsof -i :80)
3.示例
#ss sport = :http
#ss dport = :http
#ss dport \> :1024
#ss sport \> :1024
#ss sport \< :32000
#ss sport eq :22
#ss dport != :22
#ss state 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
原文
http://www.cyberciti.biz/tips/linux-investigate-sockets-network-connections.html http://www.cyberciti.biz/files/ss.html
http://361324767.blog.163.com/blog/static/114902525201281311218245/
http://hi.baidu.com/linuxtrip/item/9a51f3353aa74e423075a192
http://blog.lifeibo.com/?p=244
[6]http://blog.csdn.net/zhangxinrun/article/details/6701175
[7]http://xikder.blog.51cto.com/1423200/869467