netstat 持续刷新(观察改变输出)

Rus*_*pov 26 linux debian netstat

我正在使用这个简单的命令来监控我的 Debian 服务器上的连接(以处理最近的一些 DoS 攻击):

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
Run Code Online (Sandbox Code Playgroud)

我如何连续运行它?所以它会每分钟(或任何给定的时间,当然)刷新一次。我试过看:

watch -n 30 "netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n"
Run Code Online (Sandbox Code Playgroud)

但是它将带有连接数的好列表的输出更改为如下所示:

1 tcp        0  10015 [LOCAL IP]
...
1 Proto Recv-Q Send-Q Local Address           Foreign Address         State
1 Active Internet connections (w/o servers)
Run Code Online (Sandbox Code Playgroud)

所以没有显示外部IP。有什么我错过了吗?

这是原始输出的样子:

  2 [IP ADDRESS]
  4 [IP ADDRESS]
  4 [IP ADDRESS]
  4 [IP ADDRESS]
  7 [IP ADDRESS]
 16 [IP ADDRESS]
 71 [IP ADDRESS]
Run Code Online (Sandbox Code Playgroud)

当我说[LOCAL IP]我的意思是我机器的 IP。

当我用-c它运行它时,它就会冻结。

小智 33

netstat -c
Run Code Online (Sandbox Code Playgroud)

如果我没有误解你的问题,可能会帮助你。-c 代表 --continuous。

编辑:你去:

watch -n 30 "netstat -ntu | awk '{print \$5}' | cut -d: -f1 | sort | uniq -c | sort -n"
Run Code Online (Sandbox Code Playgroud)

我在 $ 之前添加了一个 \。