web-dev-qa-db-ja.com

送信されたTCPバイトの数を見つける

Rhel4とrhel6のホストがあります。

Netstat -sを使用して、送受信されたセグメントの数に関する情報を確認できます。 ifconfigを使用して、特定のインターフェイスで送受信されたバイト数を確認できます(私の目的では、1つだけが重要で、残りの送信の合計は3桁少なくなります)。

TCP経由で送信された合計バイト数を確認するにはどうすればよいですか?

編集:問題のホストへのルートアクセス権がありません。

3
Josh G

すべてのtcpパケットをカウントするために、iptablesを使用してパケットフィルタールールを定義します。

Tcpプロトコルですべての着信パケットをカウントします。

# iptables -I INPUT -p tcp

Tcpプロトコルですべての発信パケットをカウントします。

# iptables -I OUTPUT -p tcp

着信パケットのパケット数を含むiptablesルールを表示します。

# iptables -nvL INPUT

発信パケットのパケット数を含むiptablesルールを表示します。

# iptables -nvL OUTPUT

iptables -nvLは、最初の2列にパケット数とバイト数を示します。定義された2つのルールは、リストの一番上にある最初のルールになります。 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

1
rda