如何获取特定端口的(当前)已建立的 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 和连接列表...
谢谢