インターフェイス経由のネットワークトラフィック量を監視する


17

特定のネットワークインターフェイス、たとえばeth0でトラフィックを監視する方法(使用率のライブビューを取得する方法など)はありますか?

ここでの問題は、ボックスにあるツールのセットが固定されており、ほとんどのRHEL展開であるため、アドオンツールを使用できないことです。

基本的なものを探しており、通常はiostatのように存在します。


1
見ていstackoverflow.com/questions/596590/...を。いくつかの提案が役立つはずです。
アンディスミス

D'oh、検索に失敗しました(そして私は試しました)。公平を期すために、それは
サーバー障害の

回答:


14

表示するデータは、古き良きifconfigに表示されます。

watch ifconfig eth0

または物事を目立たせるために:

watch -n 1 -d ifconfig eth0

ありがとう-これは@ user239558によるコメントに加えてちょうどよかったです。あなたが最初に言及したので、私はあなたの答えを受け入れますifconfig
BeeOnRope

スポットオン。これは私が探していたものであり、さまざまなフォーラムでこれに似た多くの質問がありますが、これは私が見つけた最初の答えです。
ハゾック

ifconfigはデフォルトパスにありません。/ sbin / ifconfigが必要になる場合があります。
ケビンフ


4

新しいツールをインストールせずに:

while ifconfig eth0 | grep 'RX bytes'; do sleep 10; done


4

2015年以降のLinuxでは、これはより良いかもしれません watch -n1 -d ip -s link show [interface]


2

多くのユーティリティがあります:

  1. ネトホグ
  2. イプトラフ
  3. Iptablesは良い解決策になりますが、ファイアウォールのセットアップを使用している場合、ルールを正しく再配置するのは少し難しいでしょう

iptrafはまさに私が探していたものです。しかし、その最後のリリースはIPTraf 3.0.0-2005年9月19日のようです。これは問題になりますか?
アルアラミン

2

iptablesを使用して、次のようなことを行うこともできます。

iptables -A INPUT -p tcp --dport $port -i eth0

そして

iptables -A OUTPUT -p tcp --sport $port -i eth0

次に、iptables -L -n -vは、インターフェイスを通過したパケット数を出力します。iptables-Zは、このカウントをゼロにします。


出力チェーンにはインターフェイスとして-oが必要です。
-drake7707

2
function humanValue()
{
    h=( '' K M G T P )
    i=1; v=$(( $1 * 8 ))
    while [ $v -gt $(( 1 << 10 * i )) ]; do let i++; done;
    echo -n "$(( $v >> 10 * --i )) ${h[i]}b/s";
}
ifaces=$(ip addr | grep -E "^[0-9]:" | cut -d" " -f2 | tr -d \:)
declare -A RX2 TX2;
while sleep 1; 
do
    date 
    for INTERFACE in $ifaces;
    do
        RX1=$(cat /sys/class/net/${INTERFACE}/statistics/rx_bytes)
        TX1=$(cat /sys/class/net/${INTERFACE}/statistics/tx_bytes)
        DOWN=$(( RX1 - RX2[$INTERFACE] ))
        UP=$(( TX1 - TX2[$INTERFACE] ))
        RX2[$INTERFACE]=$RX1; TX2[$INTERFACE]=$TX1
        echo -e "[ $INTERFACE:\tRX: $(humanValue $DOWN)\t|\tTX: $(humanValue $UP) ]"
    done;
done;

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.