Linux服务器netstat命令使用记录

作者:简简单单 2016-03-13

无论我们用户选择VPS、服务器用来建站,还是用来项目运行,甚至老蒋经常看到很多甚至虚拟主机都没有玩的利索的网友也开始使用VPS服务器搭建网站。这些用户和项目,在服务器和网站环境一切正常的时候没有问题,但是一旦出现问题,会非常的纠结不知道如何解决。

即便是已经使用过一段时间VPS、服务器的用户,比如老蒋遇到以前没有看到的问题,也需要通过寻找解决方案、询问高人和请人解决,刚才在整理记录文档的时候有记录到几条netstat命令,也是我们在运维服务器的时候经常用到的,所以用这篇日志记录下来,算是比较常用的脚本。

常见参数

-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服?兆刺?/p>

-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。

提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

例子

第一、查看80端口的连接数

netstat -nat|grep -i "80"|wc -l

第二、连接的IP数量进行排序

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

第三、TCP连接状况

netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn
netstat -n | awk '/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}'
netstat -n | awk '/^tcp/ {++state[$NF]}; END {for(key in state) print key,"\t",state[key]}'
netstat -n | awk '/^tcp/ {++arr[$NF]};END {for(k in arr) print k,"\t",arr[k]}'
netstat -n |awk '/^tcp/ {print $NF}'|sort|uniq -c|sort -rn
netstat -ant | awk '{print $NF}' | grep -v '[a-z]' | sort | uniq -c

第四、占用80端口最多的20个IP

netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n20
netstat -ant |awk '/:80/{split($5,ip,":");++A[ip[1]]}END{for(i in A) print A,i}' |sort -rn|head -n20

第五、查看time_wait较多的连接

netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20

第六、查看SYN连接数

netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | more

总结,老蒋先整理到6个常用的netstat命令使用,以后如果有遇到再整理补充进来。

相关文章

精彩推荐