Wireshark: анализ пакетов - PullRequest
       4

Wireshark: анализ пакетов

1 голос
/ 20 февраля 2011

Мне интересно, как Wireshark анализирует пакеты 802.11.

Например, пакет запроса зонда имеет порядковый номер: 2327.

В деталях пакета в шестнадцатеричном виде он равен "7091 ", тогда как в ASCII это" p. "

Тогда как wireshark получает значение" 2327 "из пакета?Есть ли похожий пример в C?

Ответы [ 2 ]

4 голосов
/ 21 февраля 2011

Поле управления последовательностью 802.11 - это 16-разрядное поле с прямым порядком байтов, которое содержит два подполя: старшие 12 бит содержат порядковый номер, а нижние 4 бита содержат номер фрагмента. В этом случае:

  • Контроль последовательности = 0x9170
  • Порядковый номер = 0x917 = 2327 десятичных
  • Номер фрагмента = 0x0 = 0
0 голосов
/ 22 февраля 2011

@ caf был прав, в любом случае я выложу код, как мне извлечь порядковый номер ..

//this is the subfields
 typedef struct seqctl_subfields
 {
    unsigned fragment:4;
    unsigned seq_num:12;
 };

 struct seqctl_fields *se = (struct seqctl_fields*)p->sc // where p is a struct of the 802.11 header,p->sc points to the sequence control field of the 802.11 header
 std::cout << se->seq_num << std::endl;
...