- 论坛徽章:
- 0
|
本帖最后由 jzsjm1002 于 2019-02-20 00:43 编辑
想更好的学习gawk 收集大神思路 有没有更简单的写法 使用命令netstat -antu
查看tcp udp 外部链接统计 第五列 作IP 端口统计
(去除IPV6项(即:::*) 和 0.0.0.0:*的统计)
IP链接次数作逆向排序 相同端口不需要多次打印
打印方式 IP IP(出现数) 该IP所链接的端口(以,分隔)
我的思路
- #!/usr/bin/awk -f
- {if(/^tcp|^udp/ && $5!~/^:|\*$/ ){
- split($5,a,":")
- b[a[1]]++
- c[$5]
- }
- }
- END{
- for(m in b){
- for(n in c)
- if(n~m){
- split(n,d,":")
- e=sprintf("%s",d[2])
- f=f?f","e:e
- }
- printf("%-18s%d\t%s\n",m,b[m],f) | "sort -rnk2"
- f=""
- }
- }
复制代码
执行结果
- root@vh200:/mnt/awk# netstat -antu | ./test.awk
- 10.30.1.51 3 16600,16000
- 10.30.1.2 3 52201,52195,11211,52198
- 10.25.205.191 3 19200
- 127.0.0.1 2 16100,41413
- 10.30.5.160 2 43905,57709
- 10.30.1.92 2 16200
- 10.30.1.20 2 11211
- 10.25.5.64 2 19200
- 10.25.150.127 2 19200
- 211.231.53.89 1 29465
- 169.254.0.55 1 5574
- 123.212.107.139 1 48984
- 10.31.1.23 1 11211
复制代码
|
|