Nethogs ioctl nie powiodło się podczas ustanawiania lokalnego adresu IP

21

Kiedy próbowałem monitorować moją przepustowość Internetu nethogs

$ sudo nethogs eth0

Wystąpił następujący błąd:

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

To jest wynik 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
źródło

Odpowiedzi:

24

Zazwyczaj otrzymujesz tę odpowiedź, gdy próbujesz monitorować interfejs, który nie ma przypisanego adresu IP (prawdopodobnie nie jest podłączony).

Dane wyjściowe ip addrpokazują, że tylko jeden z interfejsów ma adres IP, a mianowicie usb0.

Więc w sudo nethogs usb0końcu powinien dać pożądany rezultat.

Ponieważ w komentarzach jest ip addrmowa o różnych interfejsach: jeśli pokazuje kilka interfejsów z przypisanymi adresami IP, istnieją dwie opcje:

  • ip route show | grep defaultpokaże Ci jedno urządzenie używane do uzyskania dostępu do „wszystkiego na zewnątrz”. np.
    default via 192.168.0.253 dev eth1 proto static metric 100mówi mi, że muszę użyćsudo nethogs eth1
  • Jeśli Twoim celem jest sprawdzenie ruchu wewnętrznego (w sieci lokalnej lub nawet między maszynami wirtualnymi na tym samym hoście), możesz wypróbować na wszystkich urządzeniach znalezionych przez ip addrlub ip link.
guntbert
źródło
1
Dzięki. To było sudo nethogs eth1dla mnie.
Tyler Collier
W moim przypadku usb0nazwa 64-bitowego Ubuntu 15.05 została zmieniona na wlp6s0.
Anwar,
sprawdź, który interfejs obsługuje główny adres IP, ifconfiga następnie użyj go zsudo nethogs <HERE>
Andrew Odendaal,