免费注册 查看新帖 |

Chinaunix

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

[文本处理] awk统计网络连接和ip地址 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-03-11 12:28 |只看该作者 |倒序浏览
现在通过  netstat -anp|awk '/tcp/{arr[$6]++} END{for(i in arr) printf "%-15s%-15s\n",i,arr[i]}' 将连接统计出来

TIME_WAIT        31            
ESTABLISHED    128            
LISTEN              13     


但是现在我想将状态对应的ip地址在后面显示如:

TIME_WAIT        31        192.168.0.7
ESTABLISHED    128            
LISTEN              13

该怎样实现呢?请教!!

论坛徽章:
54
2015亚冠之德黑兰石油
日期:2015-07-07 13:00:1615-16赛季CBA联赛之深圳
日期:2016-03-31 09:03:5415-16赛季CBA联赛之辽宁
日期:2016-05-09 20:38:15程序设计版块每日发帖之星
日期:2016-05-12 06:20:0015-16赛季CBA联赛之四川
日期:2016-05-13 15:19:4715-16赛季CBA联赛之福建
日期:2016-05-15 20:24:34每日论坛发贴之星
日期:2016-05-16 06:20:0015-16赛季CBA联赛之吉林
日期:2016-05-26 11:49:4715-16赛季CBA联赛之广东
日期:2016-05-26 13:49:18极客徽章
日期:2016-12-07 14:05:2315-16赛季CBA联赛之广夏
日期:2016-12-20 17:33:532017金鸡报晓
日期:2017-01-10 15:19:56
2 [报告]
发表于 2016-03-11 12:58 |只看该作者
  1. ss -4 | awk -F '[ :]+' '{a[$1" "$4]++}END{for(i in a)print i,a[i]}' | column -t
复制代码

论坛徽章:
0
3 [报告]
发表于 2016-03-11 13:18 |只看该作者
回复 2# haooooaaa


   不是本地ip,这样还有什么意义呢? 是与他处于连接状态的ip。重点是TIME_WAIT状态
netstat -anp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address                State            PID/Program name   
tcp        0      0 0.0.0.0:22                           0.0.0.0:*                          LISTEN         4435/sshd           
tcp        0      0 192.168.50.184:10050       192.168.30.30:28432         TIME_WAIT   -                  
tcp        0      0 192.168.50.184:10050        192.168.30.30:26237         TIME_WAIT   -                  
tcp        0      0 192.168.50.184:10050        192.168.30.30:26645         TIME_WAIT   -                  
tcp        0      0 192.168.50.184:10050        192.168.30.30:26515         TIME_WAIT   -                  
tcp        0      0 192.168.50.184:10050       192.168.30.30:27308         TIME_WAIT   -        

论坛徽章:
54
2015亚冠之德黑兰石油
日期:2015-07-07 13:00:1615-16赛季CBA联赛之深圳
日期:2016-03-31 09:03:5415-16赛季CBA联赛之辽宁
日期:2016-05-09 20:38:15程序设计版块每日发帖之星
日期:2016-05-12 06:20:0015-16赛季CBA联赛之四川
日期:2016-05-13 15:19:4715-16赛季CBA联赛之福建
日期:2016-05-15 20:24:34每日论坛发贴之星
日期:2016-05-16 06:20:0015-16赛季CBA联赛之吉林
日期:2016-05-26 11:49:4715-16赛季CBA联赛之广东
日期:2016-05-26 13:49:18极客徽章
日期:2016-12-07 14:05:2315-16赛季CBA联赛之广夏
日期:2016-12-20 17:33:532017金鸡报晓
日期:2017-01-10 15:19:56
4 [报告]
发表于 2016-03-11 13:29 |只看该作者
回复 3# 十一乞魔


    这个不会了,网上搜索的。

论坛徽章:
29
程序设计版块每日发帖之星
日期:2016-02-29 06:20:0015-16赛季CBA联赛之天津
日期:2016-08-10 10:33:1115-16赛季CBA联赛之深圳
日期:2016-08-17 15:07:2015-16赛季CBA联赛之佛山
日期:2016-11-07 11:33:5015-16赛季CBA联赛之广夏
日期:2016-11-15 09:13:31CU十四周年纪念徽章
日期:2016-11-24 14:12:25极客徽章
日期:2016-12-07 14:03:4015-16赛季CBA联赛之深圳
日期:2016-12-07 17:15:2715-16赛季CBA联赛之北京
日期:2016-12-22 09:30:0115-16赛季CBA联赛之深圳
日期:2016-12-22 10:49:2115-16赛季CBA联赛之山西
日期:2017-02-10 09:05:3215-16赛季CBA联赛之同曦
日期:2017-02-27 14:19:08
5 [报告]
发表于 2016-03-11 14:38 |只看该作者
  1. awk -F '[ :]+' '{a[$8"|"$6]++}END{for(i in a){split(i, s, "|");print s[1],a[i],s[2] | "column -t"}}'
复制代码

论坛徽章:
769
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
6 [报告]
发表于 2016-03-11 15:03 |只看该作者
回复 1# 十一乞魔

这样?

  1. netstat -anp|awk '$1=="tcp"{split($5,a,":");if(!b[a[1]]++)c[$6]=length(c[$6])?c[$6]" "a[1]:a[1];d[$6]++} END{for(i in c)print i,d[i],c[i]}'
  2. ESTABLISHED 8 127.0.0.1 10.160.32.58 10.160.32.75 10.165.34.109 10.165.16.71 10.160.32.55
  3. LISTEN 13 0.0.0.0
复制代码

论坛徽章:
0
7 [报告]
发表于 2016-03-11 18:20 |只看该作者
回复 6# Herowinter


   这个确实吊,虽然限于netstat 输出格式,ipv6地址部分不能抓取,还是要点个赞!
tcp        0      0 192.168.50.184:10050        192.168.30.30:43626         TIME_WAIT   -                  
tcp        0      0 192.168.50.184:10050        192.168.30.30:42244         TIME_WAIT   -                  
tcp        0      0 192.168.50.184:10050        192.168.30.30:42057         TIME_WAIT   -                  
tcp        0      0 192.168.50.184:10050        192.168.30.30:43918         TIME_WAIT   -                             
tcp        0      0 ::ffff:192.168.50.184:46121 ::ffff:172.20.3.136:9300    ESTABLISHED 13127/./java-1.7.0-
tcp        0      0 ::ffff:192.168.50.184:32974 ::ffff:192.168.50.126:20880 ESTABLISHED 7452/java           
tcp        0      0 ::ffff:192.168.50.184:42903 ::ffff:192.168.50.183:20880 ESTABLISHED 7452/java           
tcp        0      0 ::ffff:192.168.50.184:34347 ::ffff:172.20.3.137:9300    ESTABLISHED 13127/./java-1.7.0-
tcp        0      0 ::ffff:192.168.50.184:46645 ::ffff:192.168.10.9:20880   ESTABLISHED 7452/java           
tcp        0      0 ::ffff:192.168.50.184:46116 ::ffff:172.20.3.136:9300    ESTABLISHED 13127/./java-1.7.0-
tcp        0      0 ::ffff:192.168.50.184:34356 ::ffff:172.20.3.137:9300    ESTABLISHED 13127/./java-1.7.0-
tcp        0      0 ::ffff:192.168.50.184:35526 ::ffff:192.168.10.173:12000 ESTABLISHED 7452/java           
tcp        0      0 ::ffff:192.168.50.184:60480 ::ffff:192.168.10.18:12000  ESTABLISHED 7452/java          

论坛徽章:
769
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
8 [报告]
发表于 2016-03-11 18:50 |只看该作者
回复 7# 十一乞魔

再试试这个
  1. netstat -anp|awk '$1=="tcp"{ip=gensub(/[:f]*([0-9.]*).*/,"\\1",1,$5);if(!a[ip]++)b[$6]=length(b[$6])?b[$6]" "ip:ip;c[$6]++} END{for(i in c)print i,c[i],b[i]}'
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP