Linux

監控埠上傳輸到/從 IP 地址的字節數

  • December 2, 2011

誰能推荐一個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

引用自:https://serverfault.com/questions/195894