Как перевести беспроводной адаптер Mac OS X в режим монитора

17

Я ищу эквивалент "iwconfig eth0 mode Monitor" в Mac OS.

В режиме man iwconfig Monitor выполняет следующие действия:

«узел не связан ни с одной сотой и пассивно отслеживает все пакеты на частоте»

Хьюго
источник

Ответы:

30

То, что вы ищете, это /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport. Это бинарная команда, в которую я сделал ссылку /usr/local/bin/для удобства.

Создание символической ссылки:

sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/local/bin/airport

Пример сниффинга в режиме монитора:

sudo airport en1 sniff 1

Это прослушивает канал 1 и сохраняет файл захвата pcap в /tmp/airportSniffXXXXXX.pcap(где XXXXXX будет меняться). Вы можете просмотреть это с помощью tcpdump -r <filename>или открыв wireshark.

Для поиска активных каналов поблизости, которые вы можете прослушивать, запустите:

sudo airport en1 -s

Хотя вы можете захватывать любой трафик, вы можете эффективно читать, только если сеть открыта или у вас есть ключ шифрования.

bahamat
источник
Оно работает. Просто примечание, расширение файла захвата, .capа не .pcapкак описано. (OS X Mavericks 10.9)
Vitim.us
1
это работает и в
yosemite
14

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

В Маверикс:

  • Поиск Spotlight ( Command+ Space) для «Беспроводная диагностика»
  • Когда приложение откроется, нажмите Command+ 2или перейдите в Окно> Утилиты, чтобы открыть окно Утилиты
  • Нажмите на вкладку захвата кадра
  • Переименуйте выходной файл .wcap в .pcap для использования с Eye PA
skywinder
источник
Вау, Нарния! Я даже не знал, что это существовало!
Мэтт
7

Передайте флаг -I в tcpdump или tshark (утилита командной строки wireshark).

Например, чтобы сохранить все от заголовков радиоленты до пакетов прикладного уровня в файл с именем «save.pcap»:

tcpdump -Ini en0 -w save.pcap

Или для проверки зонда запроса 802.11 управления кадрами в реальном времени:

tshark -Ini en0 -s 256 type mgt subtype probe-req

Обратите внимание, что на одной OS X вам нужно будет запускать команды от имени пользователя root или предоставлять себе разрешение на доступ к фильтрам пакетов ядра:

sudo chmod 0644 /dev/bpf*
uwotm8
источник
-1

по умолчанию в OSX en0 - это ваш порт Ethernet, а en1 - ваш аэропорт

пытаться:

iwconfig en1 mode monitor
h3rrmiller
источник
2
Там нет такой команды на Mac OS X.
bahamat
странно, я просто запустил это ... и это сработало ... и спасибо за изменение имен интерфейса, забыл об этом
h3rrmiller
1
Вы, должно быть, получили это откуда-то еще, это не часть Mac OS X.
bahamat
2
«по умолчанию в OSX en0 - ваш порт Ethernet», если у вас есть порт Ethernet. Мой MacBook Pro не имеет порта Ethernet; en0 - это интерфейс AirPort, и, если я подключу адаптер Thunderbolt-to-Ethernet, он станет en2.
3
iwconfig - это команда Linux; Вы уверены, что набрали эту команду на Mac под управлением OS X и, если да, где вы взяли программу iwconfig?