irpas技术客

netstat分组统计源ip连接数量,源ip进程数量_isowang_netstat 统计ip连接数

大大的周 3196

在日常运维中,经常有数据库连接过多,但是又不知道是哪些连接,所以可以通过用netstat,awk,sort,uniq,cut,sed组合找到我们想要的答案

netstat分组统计源ip连接数量

命令如下: netstat -ant |awk ‘{print $5}’|cut -d “:” -f1|sort |uniq -c |sort -nr |head -10 结果如下:

[root@host-03 ~]# netstat -ant |awk '{print $5}'|cut -d ":" -f1|sort |uniq -c |sort -nr |head -10 219 172.20.27.94 184 172.20.27.93 173 172.20.27.95 38 0.0.0.0 31 8 172.20.27.135 2 127.0.0.1

解释如下: netstat -ant 获取网络连接 netstat -ant |awk ‘{print $5}’ 获取第五列,也就是源ip:端口 netstat -ant |awk ‘{print $5}’|cut -d “:” -f1 切割第5列,等同于split,获取切割后的第一个字段,也就是源ip netstat -ant |awk ‘{print $5}’|cut -d “:” -f1|sort |uniq -c 排序加统计 netstat -ant |awk ‘{print $5}’|cut -d “:” -f1|sort |uniq -c |sort -nr |head -10 再排序取前十

源ip进程数量 [root@host-03 ~]# netstat -antp |awk '{print $5,$7}'|sed 's/\:/\ /g'|cut -d " " -f1,3|sort|uniq -c|sort -nr |head -10 58 172.20.27.94 27513/java 51 172.20.27.93 27513/java 45 172.20.27.94 26894/java 45 172.20.27.93 26894/java 40 172.20.27.95 27513/java 31 172.20.27.95 136197/java 31 172.20.27.94 136197/java 31 23 172.20.27.95 26894/java 21 172.20.27.94 27976/redis-server

解释如下: netstat -antp |awk ‘{print $5,$7}’ 获得第5列和第7列,分割是通过默认的空格 所以要用sed命令将ip:端口中的:转换为空格,方便后续cut进行切割 cut用空格切割后,选1,3列,分别为ip和进程号,然后再分组统计

参考资料

netstat命令 awk命令 cut命令 sort命令 uniq命令 sed命令


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #netstat #统计ip连接数