2015-08-29 6 views
1

Контекст:PCAP режим монитора доступны, но не работает

Я пишу программу, которая использует PCAP для захвата пакетов в режиме монитора на OpenWRT маршрутизатор с ar9331 чипом. Я протестировал программу на рабочем столе с pcap 1.1 (который существовал в моей версии openwrt) и обнаружил проблему: pcap_can_set_rfmon вернул true, pcap_set_rfmon вернул успех, но попытка активировать захват привела к ошибке «Режим монитора не поддерживается».

Поиск в Google показал сообщение об ошибке аналогичной проблемы с wirehark. В одном из комментариев говорится, что с некоторыми устройствами wi-fi проблема вызвана старой версией pcap, которая использует старую версию другого lib. Я обновил версию pcap до 1.5.3, и проблема была решена.

Проблема: Проблема возникает снова, когда я переношу нашу программу на Openwrt. Но теперь обновление пакета libpcap до версии 1.5.3 из более новой ветви openwrt не помогает.

ответ

1

К сожалению, код режима монитора libpcap в Linux лучше всего работает, когда libpcap связан с libnl, и он часто не связан с libnl по разным причинам (включая проблемы с программой с использованием libpcap и libnl и связан с другой версией libnl, чем тот, с которым связан libpcap).

Это необходимо переделать в libpcap. Это может завершиться «вспомогательным процессом», который выполняет libpcap для выполнения различных действий; что также улучшит очистку, если программа, использующая libpcap, выйдет из строя ненормально и позволит операции захвата пакетов, требующие особых привилегий, ограничиваться вспомогательным процессом, а не требовать, чтобы программа, использующая libpcap, запускалась с этими привилегиями. Это относится к моему довольно длинному списку дел.

Лучшим обходным решением, вероятно, является использование воздухозаборника для включения режима монитора, как описано в the Wireshark Wiki page on Wi-Fi capturing.

+0

Спасибо. Я не добился успеха в libpcap и libnl, поэтому я использовал часть кода обхвата horst. –

+0

@EgorDudyak; У меня такая же проблема. Я всегда получаю сообщение об ошибке «Это устройство не поддерживает режим мониторинга» на openwrt. Как вы это исправили? – haccks

+0

@haccks Я не исправил. Возможно, проблема была решена в новой версии pcap, я не знаю. Я использовал только код из [horst-https: //github.com/br101/horst] (https://github.com/br101/horst) вместо использования pcap. Как я помню, этот код работает с драйвером напрямую. –

 Смежные вопросы

  • Нет связанных вопросов^_^