如何检查 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
命令能够执行其工作。第二个排序实际上是按频率排序。