Netstat 持续刷新(观察输出的变化)

Netstat 持续刷新(观察输出的变化)

我正在使用这个简单的命令来监控我的 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

相关内容