Giám sát lưu lượng mạng qua giao diện


17

Có cách nào để giám sát lưu lượng truy cập (ví dụ: có được chế độ xem trực tiếp về việc sử dụng) qua một giao diện mạng cụ thể, nói eth0 không?

Điều đáng chú ý ở đây là bộ công cụ trên hộp đã được sửa chữa và gần như là một triển khai RHEL cổ phần, vì vậy các công cụ bổ trợ không thể được sử dụng.

Tìm kiếm một cái gì đó cơ bản và thường trình bày như iostat ở đây.


1
Hãy xem stackoverflow.com/questions/596590/ . Một số gợi ý trên đó sẽ hữu ích.
Andy Smith

Không, tìm kiếm thất bại (và tôi đã thử). Công bằng mà nói, tôi nghĩ đó là một câu hỏi về lỗi máy chủ, không phải là một câu hỏi SO :)
BeeOnRope

Câu trả lời:


14

Dữ liệu bạn muốn xem hiển thị trong ifconfig cũ.

watch ifconfig eth0

hoặc để làm cho mọi thứ nổi bật hơn:

watch -n 1 -d ifconfig eth0

Cảm ơn - điều này ngoài nhận xét của @ user239558 là vừa phải. Tôi chấp nhận câu trả lời của bạn vì bạn là người đầu tiên đề cập ifconfig.
BeeOnRope

Tại chỗ trên. Đây là điều mà tôi đang tìm kiếm và mặc dù có nhiều câu hỏi tương tự như vậy trên các diễn đàn khác nhau, đây là câu trả lời đầu tiên tôi tìm thấy.
Hazok

ifconfig không nằm trong đường dẫn mặc định. / sbin / ifconfig có thể được yêu cầu.
kevinf



4

trên Linux sau năm 2015 hoặc lâu hơn, điều này có thể tốt hơn watch -n1 -d ip -s link show [interface]


2

Có rất nhiều tiện ích:

  1. Nethogs
  2. iptraf
  3. Iptables có thể là một giải pháp tốt nhưng nếu bạn đang sử dụng tường lửa được thiết lập sẽ hơi khó để di chuyển chính xác các quy tắc

iptraf chính xác là những gì tôi đang tìm kiếm. Nhưng bản phát hành cuối cùng của nó dường như là trong IPTraf 3.0.0 - ngày 19 tháng 9 năm 2005. đây có thể là một vấn đề không?
Al-Alamin

2

Bạn cũng có thể sử dụng iptables để thực hiện suy nghĩ như vậy:

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

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

Sau đó, iptables -L -n -v sẽ in cho bạn bao nhiêu gói đã đi qua giao diện, iptables -Z đến 0 số này


Chuỗi đầu ra phải có -o như giao diện, -i là bất hợp pháp
Drainke7707

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;

1

Hãy nhìn vào ntop. Nó cung cấp rất nhiều dữ liệu chi tiết.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.