在 OpenWRT 路由器上查找每个 ip 的连接?

在 OpenWRT 路由器上查找每个 ip 的连接?

如何列出FORWARDOpenWRT 路由器链上每个客户端的连接数?

我知道如何列出路由器上每个 IP 地址的连接数:

netstat -ntu | tail -n +3 |       # list open TCP and UDP connections
awk '{print $5}' | cut -d: -f1 |  # extract client IP addresses
sort | uniq -c | sort -nr         # show number of occurrences and sort by it

我想对通过路由器FORWARD链的连接执行相同的操作。

答案1

如果我正确理解你的问题(你的问题总是可疑的),这是不可能的。转发不保留任何状态:路由器接收数据包,分析它,将其发送到下一个目的地,然后忘记数据包是什么。您可以计算或记录数据包,但无法跟踪该级别的连接。

计算当前 NAT 连接数是有意义的。 netfilter 子系统跟踪的所有连接都列在 中/proc/net/ip_conntrack。您可以使用以下命令提取客户端地址

sed -ne 's/^.*src=\([^ ]*\).*/\1/p' /proc/net/ip_conntrack

相关内容