Monitor volume lalu lintas jaringan melalui antarmuka


17

Apakah ada cara untuk memantau lalu lintas (mis., Mendapatkan tampilan langsung dari pemanfaatan) melalui antarmuka jaringan tertentu, katakanlah eth0?

Tangkapan di sini adalah bahwa set alat di kotak diperbaiki, dan cukup banyak penyebaran RHEL stok, jadi alat add-on tidak dapat digunakan.

Mencari sesuatu yang dasar dan biasanya hadir seperti iostat di sini.


1
Lihat stackoverflow.com/questions/596590/… . Beberapa saran di sana harus bermanfaat.
Andy Smith

Doh, pencarian gagal (dan saya mencoba). Agar adil, saya pikir itu adalah pertanyaan serverfault, bukan SO :):
BeeOnRope

Jawaban:


15

Data yang ingin Anda lihat muncul di ifconfig tua yang baik.

watch ifconfig eth0

atau untuk membuat segalanya lebih baik:

watch -n 1 -d ifconfig eth0

Terima kasih - ini selain komentar oleh @ user239558 tepat. Saya menerima jawaban Anda karena Anda adalah yang pertama menyebutkan ifconfig.
BeeOnRope

Spot on. Ini adalah sesuatu yang saya cari dan walaupun ada banyak pertanyaan serupa di forum yang berbeda, ini adalah jawaban pertama yang saya temukan yang berhasil.
Hazok

ifconfig tidak di jalur default. / sbin / ifconfig mungkin diperlukan.
kevinf


4

Tanpa memasang alat baru:

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


4

pada post-2015 atau lebih linux ini mungkin lebih baik watch -n1 -d ip -s link show [interface]


2

Ada banyak utilitas:

  1. Nethogs
  2. iptraf
  3. Iptables bisa menjadi solusi yang bagus untuk tetapi jika Anda menggunakan firewall, pengaturannya akan sedikit sulit untuk dipindahkan dengan benar.

iptraf adalah apa yang saya cari. Namun rilis terakhirnya sepertinya ada di IPTraf 3.0.0 - 19 September 2005. bisakah ini menjadi masalah?
Al-Alamin

2

Anda juga dapat menggunakan iptables untuk berpikir seperti itu:

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

dan

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

Kemudian iptables -L -n -v akan mencetak berapa banyak paket yang telah melalui antarmuka, iptables -Z ke nol hitungan ini


Rantai keluaran harus memiliki -o sebagai antarmuka, -i adalah ilegal
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;

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.