СК "Аэлита": ремонт и реставрация кирпичного фасада в Москве
Основы 802.11: Заголовки Prism и режим RFMON PDF Print E-mail
Written by Administrator   
Monday, 20 August 2012 13:50

Заголовок монитора Prism, о котором мы упоминали выше, не является частью фрейма 802.11, определенного в стандарте IEEE. Это заголовок физического уровня, который генерируется принимающей картой с набором микросхем Prism. Он включает следующие данные: индикатор силы принятого сигнала (Received Signal Strength Indication - RSSI), качество сигнала (Signal Quality - SQ), уровень сигнала и шума в единицах dBm (Signal Strength and Noise) и скорость передачи данных в мегабитах в секунду (Data Rate). Иногда их полезно знать. Заголовок Prism описывается шестнадцатеричным значением, отличным от типа заголовка, определенного в стандарте 802.11 в файле it_arp.h:
/* Фиктивные типы для оборудования, не поддерживающего ARP */ 5вон у -jr #define ARPHRD_IЕЕЕЕ80211 801 /* IEEE 802.11 */
#define ARPHRD_IEEEE80211_PRISM 802 /* IEEE 802.11 + заголовок Prism2 */
(Этот пример взят из файла if_arp.h в Linux.) Надеемся, что теперь все упоминания констант ARPHRD_IEEEE80211 И ARPHRD_IEEEE80211_PRISM станут понятнее. Что касается режима мониторинга (RFM0N), то его часто путают с прозрачным (promiscuous) режимом в сети Ethernet (команда ifconfig ethO promise). На самом деле эти режимы совершенно различны. В прозрачном режиме в сетях 802.3 принимаются все фреймы, какому бы устройству в данном сегменте локальной сети они ни были адресованы. В режиме RFM0N в сетях 802.11 приложению передается вся информация из фреймов 802.11 (в том числе та, которая обычно используется только программно-аппаратным обеспечением клиентской карты), так что открывается возможность сделать дамп всего трафика и проанализировать его. Именно поэтому так много внимания уделяется способности драйвера поддерживать режим RFMON и способам активизировать этот режим. Рассмотрим практический пример карты PCMCIA в трех различных состояниях:
arhontus:~# iwconfig wlanO up 3361
arhontus:~# tepdump -i wlanO '••'i^nei
tepdump: WARNING: wlanO: no IPv4 address assigned ,уд>( [.ээд^эгщ ]
tepdump: listening on wlanO .^v;oq [?
0 packets received by filter гэиодхз lL
0 packets dropped by kernel -', :
Здесь никакого трафика не видно. л. ¦-...>.-'
arhontus:~# lwconfig wlanO promise ' ......* "¦ ¦•-•-.>•-
arhontus:~# tepdump -i wlanO мттщ хымдевмжцэмэп *ют> x»e>roj
tepdump: WARNING: wlanO: no IPv4 address assigned !!EH *6TQrW tksmom йи*| tepdump: listening on wlanO -ailwi ft--: euirosite
0 packets received by filter иоаПык. :1б?о1 tit гХэпл*.^ я irfje 0 packets dropped by kernel
Снова никакого трафика, несмотря на то что с этой машины пингуется один из беспроводных хостов. Трафик зашифрован по протоколу WEP; если бы не это, вы бы увидели проходящие пакеты, но не фреймы 802.11. Теперь переведем карту в режим мониторинга и снова запустим tepdump.

arhontus:~# iwconfig wlanO mode monitor arhontus:~# tcpdump -i wlanO
17:53:59.422074 Beacon ( ) [ 11.0 Mbit] ESS CH: b 17:53:59.440055 Acknowledgement RA:0:90:4b:6:15:4f 17:53:59.442675 Acknowledgement RA:0:2:2d:8e:74:5e 17:53:59.524466 Beacon ( ) [ 11.0 Mbit] ESS CH: b
Наконец-то! Надеемся, что этот пример выглядит убедительно.
PRIVACY
PRIVACY
В состав комплекта Linux Wireless Extensions включены следующие утилиты: iwevent, iwgetid, iwlist и iwspy. Iwevent сообщает об изменениях параметров, например ESSID, канала, режима, активности протокола WEP и идентификатора сети, а также о присоединении к новой точке доступа или соте, об отвергнутых переданных пакетах и регистрации или выходе новых клиентов в случае, когда карта работает в режиме хозяина (master mode), то есть выступает в роли точки доступа, если управляется драйверами HostAP. Таким образом, утилита iwevent может быть полезна при написании сценариев для мониторинга сети и даже для обнаружения вторжений. Iwgetid - это вспомогательная утилита, которая показывает текущие параметры беспроводной сети, например МАС-адрес точки доступа (АР), режим работы интерфейса, канал и ESSID. Она может найти применение в различных сценариях наряду с iwevent. Iwspy позволяет задать список имен, IP-адресов или МАС-адресов беспроводных хостов и отслеживать качество канала связи для каждого устройства в этом списке, пользуясь файлом /proc/net/wireless. Iwlist, - еще одна утилита для показа параметров, у которой есть ряд весьма полезных флагов: Наиболее интересна команда iwlist scan (команды iwlist ap/accesspoints считаются устаревшими), которая показывает все точки доступа и независимые сети в данном диапазоне и даже информирует об их различных параметрах, например о качестве сигнала. При работе драйвера HostAP в режиме хозяина придется воспользоваться старой командой iwlist ар, а не командой iwlist scan, хотя к моменту выхода книги из печати ситуация может измениться. Кроме того, у утилиты iwevent имеется флаг, при указании которого сообщается, что запрос на сканирование iwlist завершен (iwlist <interface> scanning). Это может пригодиться при написании сценариев. Команда iwlist scan дает возможность быстро обнаружить точки доступа в диапазоне, не отключаясь от вашей точки доступа и не переводя карту в режим мониторинга.
Мы включили в приложение D прекрасно написанные страницы руководства по комплекту Linux Wireless Extensions. Хотя многие полагают, что включение страниц руководства и KFC - это пустая трата места, но наш опыт показывает, что иногда нет адекватной замены печатному тексту, а страницы руководства - это замечательное чтение на сон грядущий.