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.

BeeOnRope
sumber
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
Joel K
sumber
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

pengguna239558
sumber
4

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

tukang pijat
sumber
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.
dSoultanis
sumber
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

philippe
sumber
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;
ton
sumber
1

Lihatlah ntop. Ini menyediakan banyak data terperinci.

Nicholas
sumber