Scapy — получение RSSI из пакетов WiFi

Я пытаюсь получить RSSI или силу сигнала из пакетов WiFi. Мне также нужен RSSI из «запросов WiFi-зондов» (когда кто-то ищет точки доступа WiFi).

Мне удалось увидеть это в журналах kismet, но это было только для того, чтобы убедиться, что это возможно — я не хочу использовать kismet все время.

Для «постоянного сканирования» я использую scapy. Кто-нибудь знает, где я могу найти RSSI или мощность сигнала (в дБм) из пакетов, перехваченных с помощью scapy? Я не знаю, как построен весь пакет, и есть много «шестнадцатеричных» значений, которые я не знаю, как анализировать/интерпретировать.

Я обнюхиваю оба интерфейса — wlan0 (определяя, когда кто-то подключается к моей точке доступа) и mon.wlan0 (определяя, когда кто-то ищет точки доступа). Аппаратное обеспечение (карта WiFi), которое я использую, основано на наборе микросхем Prism (ISL3886). Однако тест с Kismet проводился на Atheros (AR2413) и Intel iwl4965.

Edit1:

Похоже, мне нужно каким-то образом получить доступ к информации, хранящейся в PrismHeader: http://trac.secdev.org/scapy/browser/scapy/layers/dot11.py строка 92?

Кто-нибудь знает, как ввести эту информацию? packet.show() и packet.show2() ничего не показывают из этого класса/слоя

Edit2:

После дальнейшего раскопок выясняется, что интерфейс просто настроен неправильно, и поэтому он не собрать все необходимые заголовки.Если я запускаю kismet, а затем обнюхиваю пакеты с этого интерфейса с помощью scapy, в пакете будет больше информации:

###[ RadioTap dummy ]###
  version= 0
  pad= 0
  len= 26
  present= TSFT+Flags+Rate+Channel+dBm_AntSignal+Antenna+b14
  notdecoded= '8`/\x08\x00\x00\x00\x00\x10\x02\x94\t\xa0\x00\xdb\x01\x00\x00'
  ...

Теперь мне нужно только правильно настроить интерфейс без использования kismet.

5
задан kaczor1984 31 May 2012 в 19:40
поделиться