Linux
查找傳輸的 TCP 字節數
我有 rhel4 和 rhel6 主機。
我可以使用 netstat -s 查看有關發送/接收的段數的資訊。我可以使用 ifconfig 查看給定介面上發送/接收的字節數(對我而言,只有一個很重要,其餘的總傳輸量要少 3 個數量級)。
如何找到通過 TCP 傳輸的總字節數?
**編輯:**我在有問題的主機上沒有 root 訪問權限。
用 iptables 定義一個包過濾規則來統計所有的 tcp 包。
使用 tcp 協議統計所有傳入的數據包:
# iptables -I INPUT -p tcp
使用 tcp 協議計算所有傳出數據包:
# iptables -I OUTPUT -p tcp
顯示 iptables 規則,包括傳入數據包的數據包計數:
# iptables -nvL INPUT
顯示 iptables 規則,包括傳出數據包的數據包計數:
# iptables -nvL OUTPUT
iptables -nvL
在前兩列中顯示數據包計數和字節計數。兩個定義的規則將是列表頂部的第一個規則。如果你有很多 iptables 規則,一個額外的鏈可能會有所幫助:# iptables -N count_in # create custom chain named 'count_in' # iptables -A count_in -j RETURN # append RETURN action to chain 'count_in' # iptables -I INPUT -j count_in # insert chain at the top of chain INPUT # iptables -I count_in 1 -p tcp # insert rule that matches all tcp packets # and has no action (does nothing) # iptables -nvL count_in # list chain 'count_in' rules
對帶有自定義鏈的傳出數據包執行相同的操作
count_out
。