Nethogs ioctl gagal saat membuat IP lokal

21

Ketika saya mencoba memonitor bandwidth internet saya dengan nethogs

$ sudo nethogs eth0

Saya mendapat kesalahan berikut:

ioctl failed while establishing local IP for selected device eth0. 
You may specify the device on the command line.

Ini adalah output dari sudo ip addr:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever

2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen1000 link/ether 20:6a:8a:5d:5d:1c brd ff:ff:ff:ff:ff:ff

3: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc pfifo_fast state UNKNOWNqlen 1000
    link/ether 56:10:e4:e0:61:f1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.10/24 brd 192.168.1.255 scope global usb0
    inet6 fe80::5410:e4ff:fee0:61f1/64 scope link 
       valid_lft forever preferred_lft forever

4: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 20:7c:8f:79:88:ab brd ff:ff:ff:ff:ff:ff
Kawanan
sumber

Jawaban:

24

Biasanya Anda mendapatkan jawaban itu ketika Anda mencoba memonitor antarmuka yang tidak memiliki alamat IP yang ditetapkan (mungkin tidak terhubung)

Output dari ip addrmenunjukkan bahwa hanya satu dari antarmuka Anda yang memiliki alamat IP, yaitu usb0.

Jadi sudo nethogs usb0akhirnya harus memberikan hasil yang diinginkan.

Karena ada komentar yang menyebutkan antarmuka yang berbeda: jika ip addrmenunjukkan beberapa antarmuka dengan alamat IP yang ditetapkan, ada dua opsi untuk Anda:

  • ip route show | grep defaultakan menunjukkan kepada Anda satu perangkat yang digunakan untuk mengakses "semuanya di luar". mis.
    default via 192.168.0.253 dev eth1 proto static metric 100mengatakan bahwa saya harus menggunakansudo nethogs eth1
  • Jika tujuan Anda adalah untuk melihat lalu lintas internal (dalam jaringan lokal atau bahkan antara mesin virtual pada host yang sama), Anda dapat mencoba dengan semua perangkat yang ditemukan oleh ip addratau ip link.
Guntbert
sumber
1
Terima kasih. Itu sudo nethogs eth1untuk saya.
Tyler Collier
Dalam kasus saya, dalam 64 bit ubuntu 15.05, usb0diganti namanya menjadi wlp6s0.
Anwar
periksa antarmuka mana yang memegang IP utama menggunakan ifconfigdan kemudian menggunakannya dengansudo nethogs <HERE>
Andrew Odendaal