Під час встановлення локальної IP не вдалося вимкнути ioctl з сіткою


21

Коли я намагався контролювати пропускну здатність Інтернету за допомогою nethogs

$ sudo nethogs eth0

Я отримав таку помилку:

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

Це вихід 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

Відповіді:


24

Зазвичай ви отримуєте таку відповідь, коли намагаєтесь контролювати інтерфейс, якому не призначено IP-адресу (можливо, не підключено).

Результат ip addrпоказує, що лише один з ваших інтерфейсів має IP-адресу, а саме usb0.

Тому sudo nethogs usb0слід нарешті дати бажаний результат.

Оскільки є коментарі, в яких згадуються різні інтерфейси: якщо ip addrвідображається кілька інтерфейсів із призначеними IP-адресами, для вас є два варіанти:

  • ip route show | grep defaultпокаже вам один пристрій, який використовується для доступу до "всього зовні". наприклад,
    default via 192.168.0.253 dev eth1 proto static metric 100говорить мені, що я повинен використовуватиsudo nethogs eth1
  • Якщо ваша мета полягає у перегляді внутрішнього трафіку (у локальній мережі або навіть між віртуальними машинами на одному хості), ви можете спробувати з усіма пристроями, знайденими ip addrабо ip link.

1
Спасибі. Це було sudo nethogs eth1для мене.
Тайлер Колліє

У моєму випадку, в 64 - бітному Ubuntu 15,05, usb0перейменовуються wlp6s0.
Анвар

перевірте, в якому інтерфейсі зберігається основний IP, ifconfigа потім використовуйте йогоsudo nethogs <HERE>
Andrew Odendaal
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.