Nethogs ioctl a échoué lors de l'établissement de l'adresse IP locale

21

Quand j'ai essayé de surveiller ma bande passante Internet avec nethogs

$ sudo nethogs eth0

J'ai eu l'erreur suivante:

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

C'est la sortie de 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
Herks
la source

Réponses:

24

Habituellement, vous obtenez cette réponse lorsque vous essayez de surveiller une interface à laquelle aucune adresse IP n'est attribuée (probablement pas connectée).

La sortie de ip addrmontre qu'une seule de vos interfaces a une adresse IP, à savoir usb0.

Il sudo nethogs usb0faut donc finalement donner le résultat souhaité.

Comme il y a des commentaires mentionnant différentes interfaces: si ip addraffiche plusieurs interfaces avec des adresses IP attribuées, il y a deux options pour vous:

  • ip route show | grep defaultvous montrera le seul appareil utilisé pour accéder à "tout ce qui se trouve à l'extérieur". par exemple,
    default via 192.168.0.253 dev eth1 proto static metric 100me dit que je dois utilisersudo nethogs eth1
  • Si votre objectif est d'examiner le trafic interne (au sein d'un réseau local ou même entre des machines virtuelles sur le même hôte), vous pouvez essayer avec tous les périphériques trouvés par ip addrou ip link.
guntbert
la source
1
Merci. C'était sudo nethogs eth1pour moi.
Tyler Collier
Dans mon cas, en 64 bits Ubuntu 15.05, usb0est renommé en wlp6s0.
Anwar
vérifier quelle interface détient l'IP principale en utilisant ifconfiget ensuite l'utiliser avecsudo nethogs <HERE>
Andrew Odendaal