Linux
監控埠上傳輸到/從 IP 地址的字節數
誰能推荐一個linux命令行工具來監控本地伺服器和指定IP地址/埠之間傳輸的字節數。
等效的 tcpdump 命令將是:
tcpdump -s 0 -i any -w mycapture.trc port 80 host google.com
輸出:
46 packets captured 131 packets received by filter 0 packets dropped by kernel
我想要類似的輸出:
54 bytes out, 176 bytes in
我希望它可以在 RHEL 上工作並且是免費/開源的。如果有一個我也缺少的現有工具,那就太好了!
你可以使用iptables。如果您還沒有使用它,您可以使用開放的接受配置,但有一個規則來進行計數。
例如,在 RHEL 上,您的
/etc/sysconfig/iptables
文件可能類似於:*filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A FORWARD -j INPUT -A INPUT -s 10.10.1.1 -p tcp -m tcp --sport 80 -j ACCEPT -A OUTPUT -d 10.10.1.1 -p tcp -m tcp --dport 80 -j ACCEPT
其中 10.10.1.1:80 是您要計算流量的主機:埠(您不能使用主機名)。
iptables -nvxL
然後,您可以以 root 身份檢查使用該命令計算的流量。範例輸出:
Chain INPUT (policy ACCEPT 7133268 packets, 1057227727 bytes) pkts bytes target prot opt in out source destination 7133268 1057227727 ACCEPT tcp -- * * 10.10.1.1 0.0.0.0/0 tcp spt:80 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 INPUT all -- * * 0.0.0.0/0 0.0.0.0/0 Chain OUTPUT (policy ACCEPT 7133268 packets, 1057227727 bytes) pkts bytes target prot opt in out source destination 7133268 1057227727 ACCEPT tcp -- * * 0.0.0.0/0 10.10.1.1 tcp dpt:80