Как читать списки интерфейсов iw allowed?

Вопрос или проблема

Я хотел настроить промискуитетный мониторинг Wi-Fi в Wireshark. Попытался сделать это так, как раньше с iwconfig, но эта система отбрасывает меня обратно в управляемый режим, как только я снова поднимаю интерфейс. Я видел сообщения в интернете, что iw может добавить мониторный интерфейс наряду с управляемым соединением, чтобы вы могли сохранить интернет в рабочем состоянии во время мониторинга. Это было бы здорово, но:

[loren@Gazp9 ~]$ iw dev wlp3s0 interface add mon0 type monitor
команда не выполнена: Операция не разрешена (-1)
[loren@Gazp9 ~]$ iw phy wlp3s0 interface add mon0 type monitor
команда не выполнена: Нет такого файла или директории (-2)
[loren@Gazp9 ~]$ iw phy
Wiphy phy0
[loren@Gazp9 ~]$ iw phy phy0 interface add mon0 type monitor
команда не выполнена: Операция не разрешена (-1)

(Это Antergos 4.19.8-arch1-1-ARCH, если это имеет значение.)

Так что я углубился в изучение, включая Расшифровка вывода iw list допустимых комбинаций интерфейсов здесь. Но я все еще не уверен, означает ли это, что нет надежды на добавление мониторного интерфейса. Вот выдержки из ответа на мою команду “iw phy”:

phy0    Поддерживаемые режимы интерфейсов:
             * IBSS
             * управляемый
             * AP
             * AP/VLAN
             * монитор
             * P2P-клиент
             * P2P-GO
             * P2P-устройство

    Поддерживаемые команды:
             * new_interface
    (ничего о добавлении интерфейса)

    программные режимы интерфейсов (всегда могут быть добавлены):
             * AP/VLAN
             * монитор
    допустимые комбинации интерфейсов:
             * #{ управляемый } <= 1, #{ AP, P2P-клиент, P2P-GO } <= 1, #{ P2P-устройство } <= 1,
               всего <= 3, #каналов <= 2

Похоже, что у меня точно может быть один монитор. [И после предложения здесь добавить sudo к моей команде добавления интерфейса, я действительно успешно добавил мониторный интерфейс наряду с моим управляемым интерфейсом.]

Но мне все еще интересно:

Почему “добавление интерфейса” не указано как поддерживаемая команда? Я видел, как это работало…

Что такое “программный интерфейс” монитор, который “всегда” может быть добавлен? Разве мое “добавление интерфейса” не является просто программным?

Может быть, эти два вопроса отвечают друг на друга? Если да, то что такое “непрограммный интерфейс”? Могу ли я волшебным образом добавить настоящее оборудование в свою систему, вводя команды?

Почему “допустимые комбинации интерфейсов” вообще не указывают “монитор”? У меня это работает в комбинации с “управляемым”.

Может быть, ответ на “iw phy” создается людьми, которые сделали мое китайское оборудование?

И почему в вики на https://wireless.wiki.kernel.org/en/users/documentation/iw
только

sudo iw dev wlan1 station get

и

sudo iw dev wlan0 set power_save on

показывают использование sudo? Ни одна из команд “добавления” не показывает это:

iw dev wlan0 interface add fish0 type monitor flags none

Но это интеллектуальное любопытство. Мне приятно иметь работающий монитор и продолжать реальный проект.

(Поскольку задающий вопрос не написал своего ответа:)

Добавьте мониторный интерфейс от имени root, т.е. настройте sudo и используйте его.

Судя по комментарию, это, похоже, сработало:

sudo iw dev wlp3s0 interface add mon0 type monitor 

сработало сразу – mon0 существовал, но Wireshark сказал, что он не активен.

sudo ifconfig mon0 up 

сделало его подключаемым, и теперь я вижу поток пакетов WLAN в Wireshark.

Ответ или решение

Чтение списков разрешенных интерфейсов с помощью команды iw является важным аспектом настройки беспроводных сетей на Linux, особенно при использовании таких инструментов, как Wireshark для мониторинга трафика. В этом ответе мы рассмотрим, как правильно интерпретировать результаты команды iw, а также ответим на ваши вопросы по данной теме.

Чтение вывода команды iw

Когда вы выполняете команду iw phy для отображения информации о доступных интерфейсах вашего беспроводного адаптера, вы получите детализированный список поддерживаемых режимов работы и допустимых комбинаций интерфейсов. Давайте подробнее разберем ключевые элементы этого вывода.

  1. Поддерживаемые режимы интерфейса:

    • В вашем случае вывод команды показывает, что адаптер поддерживает режимы:
      • managed – для обычного подключения к беспроводной сети.
      • monitor – для захвата пакетов в режиме мониторинга.
      • Другие режимы, такие как AP, IBSS, и P2P, также присутствуют.
  2. Команды, которые поддерживаются:

    • В вашем выводе упоминается команда new_interface, но не add interface. Это связано с тем, что оконечный интерфейс может добавляться через другие команды, но необходимо удостовериться, что вы имеете права суперпользователя (sudo).
  3. Соответствующие комбинации интерфейсов:

    • Хотя ваш адаптер может поддерживать режим monitor, вывод не указывает на возможность добавления интерфейса monitor в списке допустимых комбинаций. Тем не менее, в реальности, многие адаптеры могут поддерживать применение обоих режимов одновременно. Это может быть связано с особенностями драйвера, используемого в вашей системе.

Ответы на ваши вопросы

  • Почему команда "add interface" не указана как поддерживаемая?
    Поддерживаемые команды зависят от конкретного драйвера беспроводного адаптера и его реализации в ядре Linux. Возможно, ваш адаптер использует драйвер, который не включает поддержку этой команды.

  • Что такое "software interface" в контексте?
    "Software interface" относится к интерфейсам, которые создаются программно для управления сетевыми функциями, как, например, monitor. Это не подразумевает физического изменения оборудования.

  • Что такое "не программный интерфейс"?
    Это может относиться к физическому подключению адаптера или другим аппаратным ресурсам, которые не могут быть изменены через программные команды.

  • Почему режим "monitor" не упоминается в "valid interface combinations"?
    Эти ограничения могут быть заданы драйвером вашего адаптера, а не самим оборудованием. Драйвер может не поддерживать возможности сложного комбинирования режимов.

Применение прав суперпользователя

Как вы заметили, использование sudo решает проблему с разрешениями при выполнении команд iw. Например:

sudo iw dev wlp3s0 interface add mon0 type monitor
sudo ifconfig mon0 up

Это команды, которые создают новый интерфейс в режиме мониторинга и активируют его, что позволяет отслеживать трафик в Wireshark.

Заключение

Теперь вы имеете четкое представление о том, как читать и интерпретировать результаты команды iw, а также о том, как использовать привилегии суперпользователя для настройки мониторинга беспроводного трафика. Если у вас возникнут дополнительные вопросы, не стесняйтесь их задавать. Помните, что глубокое понимание работы сетевых интерфейсов позволит вам значительно упростить управление беспроводными сетями и улучшить ваши навыки работы с инструментами мониторинга.

Оцените материал
Добавить комментарий

Капча загружается...