常见参数
-a
(all)显示所有选项,默认不显示LISTEN相关-t
(tcp)仅显示tcp相关选项-u
(udp)仅显示udp相关选项-n
拒绝显示别名,能显示数字的全部转化成数字。-l
仅列出有在 Listen (监听) 的服務状态
-p
显示建立相关链接的程序名-r
显示路由信息,路由表-e
显示扩展信息,例如uid等-s
按各个协议进行统计-c
每隔一个固定时间,执行该netstat命令。
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
常用命令
1)统计不同类型的tcp connection netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print S[a],a}'|sort -rn 2)只看ESTABLISH的数量 netstat -an | awk '/ESTABLISHED/ {S[$NF]++} END {for(a in S) print S[a]}' netstat -an|awk '/ESTABLISHED/ {print $6}'|sort|uniq -c 3)只看time wait数量 netstat -an|awk '/TIME_WAIT/ {print $6}'|sort|uniq -c 4)看前20的tcp相关的 IP数量 netstat -an |grep 'ESTABLISHED' |awk '{print $5}'|awk -F ':' '{print $1}'|sort|uniq -c|sort -rn|head -20 netstat -n|awk '/^tcp/ {print $5}'|awk -F : '{print $1}'|awk '{print $1}'|sort|uniq -c|sort -rn|head -20 或用下面这个性能更好的方法 awk 'BEGIN{while("netstat -an"|getline){if( $5 ~ /[1-255]/){split($5,t1,":");tarr[t1[1]]++;}}for(k in tarr){print tarr[k],k | "sort -rn";}};'|head -20
一个简单 for loop 观察链接数变化,以及链接数前20的IP
while true;do uptime;netstat -an | awk '/ESTABLISHED/ {S[$NF]++} END {for(a in S) print S[a]}';awk 'BEGIN{while("netstat -an"|getline){if( $5 ~ /[1-255]/){split($5,t1,":");tarr[t1[1]]++;}}for(k in tarr){print tarr[k],k | "sort -rn";}};'|head -20;sleep 20;done
谢谢大家