我正在使用这个简单的命令来监控我的 Debian 服务器上的连接(以应对最近的一些 DoS 攻击):
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
我如何连续运行它?因此它将每分钟刷新一次(当然,也可以是任何给定的时间)。我尝试观察:
watch -n 30 "netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n"
但是它将带有连接数的 nice list 的输出更改为如下内容:
1 tcp 0 10015 [LOCAL IP]
...
1 Proto Recv-Q Send-Q Local Address Foreign Address State
1 Active Internet connections (w/o servers)
所以没有显示外部 IP。我是不是漏掉了什么?
原始输出如下所示:
2 [IP ADDRESS]
4 [IP ADDRESS]
4 [IP ADDRESS]
4 [IP ADDRESS]
7 [IP ADDRESS]
16 [IP ADDRESS]
71 [IP ADDRESS]
我这么说,[LOCAL IP]
指的是我的机器的 IP。
当我运行它时-c
它就冻结了。
答案1
netstat -c
如果我没有误解你的问题的话,可能会对你有所帮助。-c 代表--continuous。
编辑:就这样:
watch -n 30 "netstat -ntu | awk '{print \$5}' | cut -d: -f1 | sort | uniq -c | sort -n"
我在 $ 之前添加了 \。
答案2
搜索 macos 的命令到此结束。对于想要查看进程的实时连接的 mac 用户:
nettop -p 60683
您还可以限制接口类型,如 wifi 或有线...
nettop -t wifi -n -p 60683
答案3
在 Ubuntu 18.04 LTS 上进行监控,效果很好。它显示了良好的人性化输出。
sudo netstat -tupnc
答案4
您可以使用 netstat 间隔(以秒为单位),它会在每个间隔内刷新活动连接,例如在 cmd 中输入:netstat 5 -> 这意味着每 5 秒,netstat 会再次运行,直到您按下 Ctrl+C