在 Debian 下,使用 iptables 本身并不能直接“看连接数”,通常需要结合 conntrack / netstat / ss 等工具来查看。下面按常见场景给你总结一下。
ss(推荐,速度快)ss -ant | wc -l
-a 所有连接-n 不解析名称-t TCP 连接只看 ESTABLISHED:
ss -ant state established | wc -l
netstat(老工具)netstat -ant | wc -l
或
netstat -ant | grep ESTABLISHED | wc -l
iptables 依赖 nf_conntrack 模块来跟踪连接。
cat /proc/net/nf_conntrack | wc -l
或
conntrack -L | wc -l
cat /proc/sys/net/netfilter/nf_conntrack_max
cat /proc/sys/net/netfilter/nf_conntrack_count
ss -ant | awk '{print $4}' | cut -d: -f1 | sort | uniq -c | sort -nr
或用 netstat:
netstat -ant | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr
iptables 本身只能看规则匹配次数,不是连接数。
iptables -L -n -v
或指定表:
iptables -L -n -v -t nat
示例输出中:
pkts bytes target prot opt in out source destination
pkts:包数量bytes:字节数ss -ant | grep ':80' | wc -l
ss -ant | grep '1.2.3.4' | wc -l
ssconntrackiptables -C + hashlimit / connlimit如果你能说一下你是:
我可以给你更精确的命令或规则示例。