netstat 不同值

netstat 不同值

如何检查 ubuntu 上特定端口的 netstats?示例

netstat -? grep: 80

但有一个转折,所以它也会这样做

它应该只显示不同的 IP 地址,但端口上任何重复的 IP 地址都应分配到 IP 旁边,然后按重复数量排序

例子:

client IP: 80.230.90.120  Port: 80  Occured: 4 times 
client IP: 70.122.30.25   Port: 80  Occured: 2 times 
client IP: 60.78.70.230   Port: 80  Occured: 1 times 
client IP: 40.42.90.220   Port: 80  Occured: 1 times

这可能吗?提前谢谢 :)

答案1

在当前状态下,您的问题不清楚本地计算机还是远程计算机是“客户端”。假设您正在寻找远程计算机上的端口 80 的连接,则以下内容应该可以满足您的要求。只需port=port-number-to-search在运行命令之前确保设置或$port在命令中用要过滤的端口替换即可。

简单的一行:

netstat -an | awk '{print $5}' | grep :$port | sort -n | uniq -c | sort -nr

输出如下:

      7 198.252.206.25:443
      4 74.125.28.189:443
      2 74.126.144.69:443
      2 65.55.252.167:443
      2 52.112.66.238:443

前面的数字是该 IP 在端口 80 上的连接数。

漂亮的打印一行:

netstat -an | awk '{print $5}' | grep :$port | sort -n | uniq -c | sort -nr | tr ':' ' ' | awk '{printf "client IP: %-15s  Port: %-5s  Occurred: %s time(s)\n", $2, $3, $1}'

输出如下:

客户端IP:198.252.206.25 端口:443 发生次数:9次
客户端IP:74.126.144.69 端口:443 发生次数:2次
客户端IP:74.125.28.189 端口:443 发生次数:2次
客户端IP:34.210.168.7 端口:443 发生次数:2次
客户端IP:216.58.217.195 端口:443 发生次数:2次
客户端IP:192.0.73.2 端口:443 发生次数:2次

编辑 2017-06-26
最初我编写的命令是按 IP 排序的。原帖作者说他/她对按频率排序感兴趣,所以我做了一些修改。您可能会注意到该sort命令在命令之前和之后使用uniq。这不是错误。第一个sort确保uniq命令能够执行其工作。第二个排序实际上是按频率排序。

相关内容