免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1892 | 回复: 1
打印 上一主题 下一主题

[文本处理] netstat统计 awk思路收集 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2019-02-19 11:59 |只看该作者 |倒序浏览
本帖最后由 jzsjm1002 于 2019-02-20 00:43 编辑

想更好的学习gawk 收集大神思路 有没有更简单的写法 使用命令netstat -antu
查看tcp udp 外部链接统计 第五列 作IP 端口统计
(去除IPV6项(即:::*) 和 0.0.0.0:*的统计)
IP链接次数作逆向排序 相同端口不需要多次打印
打印方式 IP       IP(出现数)        该IP所链接的端口(以,分隔)

我的思路

  1. #!/usr/bin/awk -f
  2. {if(/^tcp|^udp/ && $5!~/^:|\*$/ ){
  3.   split($5,a,":")
  4.   b[a[1]]++
  5.   c[$5]
  6. }
  7. }

  8. END{
  9. for(m in b){
  10. for(n in c)
  11.   if(n~m){
  12.    split(n,d,":")
  13.    e=sprintf("%s",d[2])
  14.    f=f?f","e:e
  15.   }
  16. printf("%-18s%d\t%s\n",m,b[m],f) | "sort -rnk2"
  17. f=""
  18. }
  19. }
复制代码

执行结果
  1. root@vh200:/mnt/awk# netstat -antu | ./test.awk
  2. 10.30.1.51        3        16600,16000
  3. 10.30.1.2         3        52201,52195,11211,52198
  4. 10.25.205.191     3        19200
  5. 127.0.0.1         2        16100,41413
  6. 10.30.5.160       2        43905,57709
  7. 10.30.1.92        2        16200
  8. 10.30.1.20        2        11211
  9. 10.25.5.64        2        19200
  10. 10.25.150.127     2        19200
  11. 211.231.53.89     1        29465
  12. 169.254.0.55      1        5574
  13. 123.212.107.139   1        48984
  14. 10.31.1.23        1        11211
复制代码


论坛徽章:
0
2 [报告]
发表于 2019-02-20 00:47 |只看该作者
重新编辑过了 看起来更简洁了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP