ss简单使用

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

上一篇:HDU3466(01背包变种)


下一篇:转载:curl 模拟请求