netstat -natu | awk'{print $5}'| cut -d: -f1 | sort | uniq -c | sort -n

netstat -natu | awk'{print $5}'| cut -d: -f1 | sort | uniq -c | sort -n

如何获取特定端口的(当前)已建立的 TCP 连接数?

我已经设法通过执行传出 RTMP 来获取流量计数器。

iptables -N $CHAIN 
iptables -I OUTPUT -j $CHAIN
iptables -A $CHAIN -p tcp --sport 1935
iptables-save

但现在我需要每个协议的当前连接数(而不是计数器)

我可以使用以下命令获取总数:netstat -ant | grep ESTABLISHED | wc -l

有人能帮忙吗?我不是 iptables 专家。

答案1

你说你不是大师,但我们谁是大师?你已经完成了大部分繁重的工作;我相信剩下的事情你会在一两分钟内想到的。

到那时为止,请尝试一下netstat -an|grep ESTABLISHED | grep -w 1935

答案2

这个对我有用:

# netstat -ant | grep ESTABLISHED | wc -l

输出:

total connection 22....

答案3

netstat + grep对于少量连接来说,这是一个很好的、简单的选项,但是如果你有大量的连接,我建议你ss按照nixCraft

例如:ss -s

Total: 78 (kernel 79)
TCP:   31 (estab 27, closed 0, orphaned 0, synrecv 0, timewait 0/0), ports 16

Transport Total     IP        IPv6
*     79        -         -        
RAW   0         0         0        
UDP   4         2         2        
TCP   31        2         29       
INET      35        4         31       
FRAG      0         0         0  

答案4

如果你想要列出 IP 和连接数,还有一个命令

netstat -natu | awk'{print $5}'| cut -d: -f1 | sort | uniq -c | sort -n

它为您提供 IP 和连接列表...

谢谢

相关内容