Nethogs ioctl non è riuscito durante l'impostazione dell'IP locale


21

Quando ho provato a monitorare la mia larghezza di banda Internet con nethogs

$ sudo nethogs eth0

Ho ricevuto il seguente errore:

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

Questo è l'output di 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

Risposte:


24

Di solito si ottiene quella risposta quando si tenta di monitorare un'interfaccia a cui non è stato assegnato alcun indirizzo IP (probabilmente non connesso).

L'output di ip addrmostra che solo una delle tue interfacce ha un indirizzo IP, vale a dire usb0.

Quindi sudo nethogs usb0dovrebbe finalmente dare il risultato desiderato.

Poiché ci sono commenti che menzionano diverse interfacce: se ip addrmostra diverse interfacce con indirizzi IP assegnati, ci sono due opzioni per te:

  • ip route show | grep defaultti mostrerà l'unico dispositivo utilizzato per accedere a "tutto all'esterno". ad es.
    default via 192.168.0.253 dev eth1 proto static metric 100mi dice che devo usaresudo nethogs eth1
  • Se il tuo obiettivo è guardare il traffico interno (all'interno di una rete locale o anche tra macchine virtuali sullo stesso host) puoi provare con tutti i dispositivi trovati da ip addro ip link.

1
Grazie. È stato sudo nethogs eth1per me
Tyler Collier,

Nel mio caso, in Ubuntu 15.05 a 64 bit, usb0viene rinominato come wlp6s0.
Anwar,

controlla quale interfaccia contiene l'IP principale ifconfige poi sudo nethogs <HERE>
usalo
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.