Openwrt

在 OpenWRT 路由器上查找每個 ip 的連接?

  • June 21, 2011

如何列出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我想對通過路由器鏈的連接做同樣的事情。

如果我正確理解了您的問題(您的問題總是令人懷疑),這是不可能的。轉發不保留任何狀態:路由器接收到一個數據包,對其進行分析,然後將其發送到下一個目的地,然後忘記數據包是什麼。您可以計算或記錄數據包,但您無法跟踪該級別的連接。

計算目前的 NAT 連接數是有意義的。netfilter 子系統跟踪的所有連接都列在/proc/net/ip_conntrack. 您可以提取客戶端地址

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

引用自:https://unix.stackexchange.com/questions/15353