首页 > 试题广场 >

netstat练习3-输出每个IP的连接数

[编程题]netstat练习3-输出每个IP的连接数
  • 热度指数:11776 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
假设netstat命令运行的结果我们存储在nowcoder.txt里,格式如下:
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:6160            0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 172.16.56.200:41856     172.16.34.144:3306      ESTABLISHED
tcp        0      0 172.16.56.200:49822     172.16.0.24:3306        ESTABLISHED
tcp        0      0 172.16.56.200:49674     172.16.0.24:3306        ESTABLISHED
tcp        0      0 172.16.56.200:42316     172.16.34.143:3306      ESTABLISHED
tcp        0      0 172.16.56.200:44076     172.16.240.74:6379      ESTABLISHED
tcp        0      0 172.16.56.200:49656     172.16.0.24:3306        ESTABLISHED
tcp        0      0 172.16.56.200:58248     100.100.142.4:80        TIME_WAIT
tcp        0      0 172.16.56.200:50108     172.16.0.24:3306        ESTABLISHED
tcp        0      0 172.16.56.200:41944     172.16.34.144:3306      ESTABLISHED
tcp        0      0 172.16.56.200:35548     100.100.32.118:80       TIME_WAIT
tcp        0      0 172.16.56.200:39024     100.100.45.106:443      TIME_WAIT
tcp        0      0 172.16.56.200:41788     172.16.34.144:3306      ESTABLISHED
tcp        0      0 172.16.56.200:58260     100.100.142.4:80        TIME_WAIT
tcp        0      0 172.16.56.200:41812     172.16.34.144:3306      ESTABLISHED
tcp        0      0 172.16.56.200:41854     172.16.34.144:3306      ESTABLISHED
tcp        0      0 172.16.56.200:58252     100.100.142.4:80        TIME_WAIT
tcp        0      0 172.16.56.200:49586     172.16.0.24:3306        ESTABLISHED
tcp        0      0 172.16.56.200:41754     172.16.34.144:3306      ESTABLISHED
tcp        0      0 172.16.56.200:50466     120.55.222.235:80       TIME_WAIT
tcp        0      0 172.16.56.200:38514     100.100.142.5:80        TIME_WAIT
tcp        0      0 172.16.56.200:49832     172.16.0.24:3306        ESTABLISHED
tcp        0      0 172.16.56.200:52162     100.100.30.25:80        ESTABLISHED
tcp        0      0 172.16.56.200:50372     172.16.0.24:3306        ESTABLISHED
tcp        0      0 172.16.56.200:50306     172.16.0.24:3306        ESTABLISHED
tcp        0      0 172.16.56.200:49600     172.16.0.24:3306        ESTABLISHED
tcp        0      0 172.16.56.200:41908     172.16.34.144:3306      ESTABLISHED
tcp        0      0 172.16.56.200:60292     100.100.142.1:80        TIME_WAIT
tcp        0      0 172.16.56.200:37650     100.100.54.133:80       TIME_WAIT
tcp        0      0 172.16.56.200:41938     172.16.34.144:3306      ESTABLISHED
tcp        0      0 172.16.56.200:49736     172.16.0.24:3306        ESTABLISHED
tcp        0      0 172.16.56.200:41890     172.16.34.144:3306      ESTABLISHED
udp        0      0 127.0.0.1:323           0.0.0.0:*
udp        0      0 0.0.0.0:45881           0.0.0.0:*
udp        0      0 127.0.0.53:53           0.0.0.0:*
udp        0      0 172.16.56.200:68        0.0.0.0:*
udp6       0      0 ::1:323                 :::*
raw6       0      0 :::58                   :::*                    7
现在需要你输出每个IP的连接数,按照连接数降序排序。你的脚本应该输出
172.16.0.24 10
172.16.34.144 9
100.100.142.4 3
0.0.0.0 3
172.16.34.143 1
172.16.240.74 1
120.55.222.235 1
100.100.54.133 1
100.100.45.106 1
100.100.32.118 1
100.100.30.25 1
100.100.142.5 1
100.100.142.1 1

头像 已注销
发表于 2023-09-02 21:24:11
#!/bin/bash cat nowcoder.txt| grep tcp| awk '{print $5}'| awk -F':' '{print $1}'| sort| uniq -c| sort -nr| awk '{print $2" "$1}'
头像 寄寄boy
发表于 2021-12-29 00:41:58
awk '{if($1 ~ /tcp/ ){         a[$5]++}       }    展开全文
头像 郭富成
发表于 2022-01-17 15:14:40
#! /usr/bin/env bash ######################################################## # # ######################################################## function s 展开全文
头像 牛客697091685号
发表于 2024-06-25 11:06:45
#!/bin/bash awk '/tcp/{ h=substr($5,0,index($5,":")-1); if(length(h)>0){ arr[h]++ } }END{ for(i in arr){ 展开全文
头像 雄霸天下钢铁
发表于 2024-03-11 20:19:35
#!/bin/bash cat nowcoder.txt|grep tcp|awk '{print $5}' |awk -F ":" '{print $1}'|sort |uniq -c|awk '{print $2" "$1}'|sort -nrk2 展开全文
头像 小白学习编程
发表于 2023-06-27 01:51:55
awk '$1=="tcp"{print $5}' nowcoder.txt|awk -F: '{print $1}'|sort|uniq -c|sort -rnk 1|awk '{print $2,$1}'
头像 牛客958631006号
发表于 2022-05-10 10:40:07
awk -F ":" '/tcp/{print 2}'| awk '{print 2}'| sort | uniq -c | sort -rn | awk '{print 2,2,2,1}'
头像 北岛以北
发表于 2024-12-19 14:58:27
#!/bin/bash awk '{ if($6=="TIME_WAIT"||$6=="LISTEN"||$6=="ESTABLISHED") { print $5 } }' nowcoder.txt 展开全文
头像 无言非沉默
发表于 2023-11-08 18:07:14
#!/bin/bash cat nowcoder.txt | grep -i 'tcp' | awk '{print $5}' | awk -F ':' '{print $1}' | sort | uniq -c | sort -nrk 1 | awk '{print $2,$1}'
头像 liudelantu
发表于 2024-08-25 12:38:28
#!/bin/bash # 业务知识: # netstat 是一个用于显示网络连接、路由表、接口统计等信息的命令 # Proto Recv-Q Send-Q Local Address Foreign Address State # tcp 0 展开全文