Как мне это сделать? Я вижу сообщения о том, как включить его с помощью Apple802.11.framework но ничего при выключении. Я запустил стирку, и теперь я застрял в режиме монитора. Пожалуйста помоги!

sudo ifconfig en0 -promisc

Возвращает «плохое значение», я должен использовать неправильный переключатель? Какой синтаксис и переключатель для режима монитора? Нужно ли делать это через фреймворк?

2 ответа2

0

Он остается только в режиме монитора или случайного режима, когда запущенный процесс удерживает его в этом режиме. Какой бы инструмент вы ни использовали, он, вероятно, все еще работает, или породил фоновый процесс, который все еще работает.

Определите и убейте этот процесс, и вы вернетесь к нормальной жизни.

0

Он остается только в режиме монитора или случайного режима, когда запущенный процесс удерживает его в этом режиме.

Хотя это справедливо большую часть времени, когда мы бежим (на El Capitan):

# sudo tcpdump -p -I -i enX -y IEEE802_11 

Интерфейс может зависнуть в режиме монитора после выхода из tcpdump (где X - беспроводная сетевая карта, которая поддерживает режим монитора). Обратите внимание, что я говорю "может". Это не ошибка. Несколько раз он возвращался в нормальный режим. В большинстве случаев это не так.

Выполнение этой команды впоследствии исправило ее (это мой ответ на ваш вопрос):

# sudo tcpdump  -I -i enX -p

Это привело нас к мысли, что что-то не так с tcpdump или Mac OS X и с тем, как они взаимодействуют друг с другом (проблема также может быть в libpcap, который находится между ними).

Мы приступили к чтению исходного кода libpcap и обнаружили множество драгоценных камней в радости режима монитора в Mac OS X, который, в свою очередь, указал нам на тот факт, что выбор определенного режима DLT (с использованием флага -y на tcpdump) заставить Mac OS X перевести интерфейс в режим монитора (без дополнительной работы libpcap). Кроме того, в отличие от других систем, в libpcap не выполняется никакой специальной очистки состояния режима монитора при работе в Mac OS X.

В нашем случае крайне важно, чтобы мы могли получать кадры управления 802.11 (тестовые запросы), сохраняя при этом связь и связь с базовой станцией.

В итоге мы создали программу, которая напрямую взаимодействовала с libpcap и просто запросила режим монитора pcap_set_rfmon(pcap, 1) (без выбора режима DLT), прежде чем активировать захват на интерфейсе. При выходе программа просто закрывает дескриптор захвата, и все возвращается в норму (исчезает глаз Саурона), и сетевая карта все еще связана с сетью. Доступ в интернет работает на протяжении всего исполнения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .