Как найти вариант протокола 802.11 и расшифровать packet_payload_info в файлах PcapNG?
Я создаю (Python) парсер файлов PcapNG, созданный Wireshark.
После прочтения https://www.winpcap.org/ntar/draft/PCAP-DumpFileFormat.html у меня возникли следующие проблемы:
Я хотел бы определить вариант протокола каждого пакета (802.11b, 802.11a, 802.11g или 802.11n).
Однако PcapNG определяет только следующие типы ссылок:- LINKTYPE_IEEE802_11 105 IEEE 802.11 (беспроводной)
- LINKTYPE_IEEE802_11_RADIO 127 802.11 plus BSD радио заголовок
Есть ли способ найти вариант протокола внутри файла трассировки PcapNG?
Есть ли способ расшифровать данные внутри packet_payload_info, например, в следующем:
EnhancedPacket (interface_id = 0, timestamp_high = 332139, timestamp_low = 2801116213L, packet_payload_info = (57, 57, '\ x00 \ x00 \ x19 \ x00o \ x08 \ x00 \ x00 \ tJ \ xb2 & \ x00 \ x00 \ x00 \ x00 \ x \x18q\x16@\x01\ XCA \ Хаа \x00\x94\x00\x00\x00`\x92\x175\x00\x01\ XF4 \ X0F \ X1B \ xb8sL\x04\x00\xc0#\ XFF \ XFF \xff\xff\xff\xff\xff\xffX\xd0Y\'), options=Options({}))
1 ответ
Тип канала передачи данных IEEE802_11_RADIO - это то, что вам нужно. Это позволяет принимающей радиостанции прикреплять заголовок метаданных радиосвязи ("радиолента", также называемый радиозаголовок BSD) к каждому пакету. Этот заголовок метаданных содержит вещи, которые приемная радиостанция наблюдала о передаче, которые фактически не были битами, передаваемыми по воздуху. Это включает в себя такие вещи, как тип PHY, какая скорость передачи данных или MCS, какой канал радио был настроен при его получении, какая мощность сигнала на приемнике (RSSI) и многое другое.