1

Сколько байтов пакета 802.11 (WLAN) мне нужно проверить, чтобы можно было извлечь адреса источника, назначения, получателя и передатчика из заголовка?

Это изображение предполагает, что длина заголовка пакета WLAN составляет 20 байтов. Тем не менее, существует преамбула и заголовок PLCP. Просмотр захваченных пакетов с помощью Wireshark показывает, что есть заголовок Radiotap (длиной в 34 или 37 байт в моем файле) и заголовок MAC более 20 байт.

Сколько байтов (абсолютный минимум) мне нужно захватить, чтобы (всегда) иметь возможность извлечь четыре MAC-адреса в заголовке MAC (802.11g/n)?

2 ответа2

2

Это изображение предполагает, что длина заголовка пакета WLAN составляет 20 байтов.

Нет, это предполагает, что заголовок WLAN имеет длину 30 байтов. Точнее, длина до 30 байтов, хотя не все пакеты имеют все четыре поля MAC-адреса, поэтому заголовок может быть короче. (Он также может быть длиннее с полями управления HT QoS и 802.11n и более поздними версиями, но они идут после MAC-адресов.)

Итак, как указывает Spiff, вам нужно захватить как минимум 30 байтов, чтобы быть уверенным, что вы получите все MAC-адреса.

Тем не менее, существует преамбула и заголовок PLCP.

Те не появляются в захвате.

Просмотр захваченных пакетов с помощью Wireshark показывает, что есть заголовок Radiotap (длиной в 34 или 37 байт в моем файле),

Да, если ваши пакеты имеют заголовок Radiotap, вы должны захватить его в дополнение к заголовку 802.11, а длина заголовка Radiotap, как отмечает Spiff, зависит от аппаратного обеспечения, драйвера и способа получения пакета или передается.

Итак, если это возможно, вы должны захватывать только с заголовком 802.11. Это может или не может быть возможным, в зависимости от того, какую ОС вы используете (* BSD и OS X должны позволять вам захватывать только с заголовками 802.11, Linux может позволять вам получать только заголовки Radiotap).

и заголовок MAC более 20 байтов.

Да, как указано, рассматриваемая диаграмма не предполагает, что заголовок имеет длину (максимум) 20 байтов.

1

Выберите 802.11 в качестве типа данных вашего интерфейса (DLT_IEEE802_11) и захватите 30 байтов.

Если вы действительно хотите захватить минимальное количество и надежно захватить адреса с 1 по 4, то вам не следует использовать тип захвата метаданных Radiotap (DLT_IEEE802_11_RADIO), поскольку это заголовок переменной длины. Как долго это может зависеть от радио и водителя и различных аспектов физической передачи и приема пакета.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .