Анализ трафика Wi-Fi в Wireshark. Как найти причину сбоев

51
Анализ трафика Wi-Fi в Wireshark. Как найти причину сбоев

Как устроен обмен кадрами Wi-Fi, что скрывают WPA2 и WPA3 и как найти причину обрывов.

image

Телефон может хорошо слышать точку доступа, но ждать свободного эфира, повторять передачи или безрезультатно запрашивать сетевой адрес. Симптомы похожи. Сеть подключена, а страница не открывается.

Захват трафика помогает различать причины. Но неподходящий адаптер или слишком строгий фильтр способны создать картину неисправности в работающей сети. Разберём, как записать подключение и какие выводы следуют из записи.

Сначала определите, какой участок нужно проверить

В домашнем роутере точка доступа обслуживает беспроводной участок, маршрутизатор пересылает пакеты между сетями, отдельная служба выдаёт адреса. Сбой любой функции легко принять за «проблему Wi-Fi».

На беспроводном участке пакеты IP передаются внутри кадров IEEE 802.11. Канальный уровень организует обмен кадрами, физический превращает биты в радиосигнал. При обычном захвате драйвер часто отдаёт обработанные данные с заголовками Ethernet, исходный служебный обмен Wi-Fi может отсутствовать.

Где записывать Что проверять Ограничение
На клиенте в обычном режиме Получение адреса, запросы приложения и ответы Радиозаголовки и служебный обмен могут отсутствовать
Отдельным адаптером в режиме мониторинга Подключение, повторы, разрывы связи Зашифрованное содержимое без ключей обычно недоступно
На проводной стороне точки Прохождение трафика в локальную сеть Повторы и подтверждения Wi-Fi здесь не видны

Для радиозахвата нужен режим мониторинга, или monitor mode. Адаптер принимает доступные ему кадры выбранного канала без подключения к точке. Режим promiscuous, снимающий часть фильтрации по адресам, таких же возможностей не обеспечивает.

Почему сильный сигнал не гарантирует скорость

Участники Wi-Fi делят радиоресурс. При обычном конкурентном доступе устройство проверяет занятость среды, а случайная отсрочка помогает разнести попытки передачи. Такой доступ организует CSMA/CA, механизм контроля несущей и предотвращения столкновений. Столкновения всё же возможны, например если клиенты слышат точку, но не слышат друг друга.

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

OFDMA позволяет согласованно обслуживать несколько клиентов, выделяя им части частотного ресурса. Однако равного деления скорости между всеми подключёнными устройствами это не гарантирует.

Почему сильный сигнал Wi-Fi не гарантирует высокую скорость: занятость эфира, ожидание и повторные передачи снижают пропускную способность

Что находится внутри кадра Wi-Fi

Заголовок 802.11 содержит тип сообщения, флаги и адресные поля. Дальше, если формат предусматривает, идёт тело кадра, в конце передаваемого кадра находится FCS, контрольная сумма для обнаружения ошибок. Состав и размер полей меняются, поэтому искать IP после фиксированного числа байтов неправильно.

Кадры делятся на три основные группы. Названия пригодятся, поскольку анализатор трафика использует протокольные обозначения.

Группа Назначение Примеры
Management, управляющие кадры Обнаружение сети, подключение и разрыв связи Beacon, Probe, Authentication, Association
Control, кадры контроля передачи Доступ к среде и подтверждение приёма ACK, Block Ack, RTS, CTS
Data, кадры данных Сетевые пакеты и некоторые служебные сообщения Data, QoS Data, Null Data

Data не гарантирует пользовательскую нагрузку. Null Data может сообщать о состоянии энергосбережения, QoS Data содержит параметры обслуживания трафика. ACK подтверждает отдельный обмен, Block Ack подтверждает набор кадров. Объединение кадров в одну физическую передачу сокращает накладные расходы.

Адресов бывает больше двух. Когда телефон отправляет файл проводному серверу в той же локальной сети, радиополучателем становится точка доступа, адресатом данных остаётся сервер. Поля wlan.ta и wlan.ra обозначают передатчик и приёмник, wlan.sa и wlan.da обозначают источник и назначение данных.

Перед 802.11 часто находится Radiotap, дополнительный заголовок с частотой, уровнем сигнала и параметрами приёма. Его добавляет принимающая сторона для анализатора, по воздуху Radiotap не передаётся. Поля зависят от оборудования. Отсутствие показателя шума не означает отсутствия шума. Структура кадра Wi-Fi 802.11 с заголовком Radiotap, адресами TA, RA, SA и DA, телом кадра и контрольной суммой FCS

Как клиент подключается к сети

SSID обозначает имя сети. BSSID идентифицирует конкретную базовую зону обслуживания, обычно адресом интерфейса точки доступа. Несколько точек и диапазонов могут работать под одним SSID с разными BSSID. Для записи определите фактическую точку подключения.

Обычное первичное подключение к WPA2-Personal, сети с общим паролем, проходит следующие этапы. Корпоративная аутентификация и быстрый роуминг меняют последовательность.

  1. Обнаружение. Точка отправляет Beacon, объявление параметров сети. Клиент может послать Probe Request и получить Probe Response. Активный поиск нужен не при каждом подключении.
  2. Аутентификация. В WPA2-Personal обмен Open System Authentication ещё не проверяет знание общего пароля.
  3. Ассоциация. Стороны согласуют параметры. Ответ Association Response содержит Status Code, код результата. Успех ещё не означает готовность защищённого канала.
  4. Обмен ключами. Четыре сообщения EAPOL-Key подтверждают владение общим ключевым материалом и согласуют установку рабочих ключей. EAPOL переносит сообщения контроля доступа.
  5. Настройка IP. После установления защиты клиент может получить адрес через DHCP, протокол автоматической настройки. При статическом адресе и использовании IPv6 обмен отличается.

Пароль не пересылается внутри четырёх сообщений. В WPA2-Personal парольная фраза и SSID дают исходный ключ, случайные значения и адреса сторон участвуют в выводе ключей соединения. Индивидуальный обмен использует парные ключи, групповой использует отдельный групповой ключ.

Успешный EAPOL не доказывает получение адреса или выход в интернет. DHCP и запросы приложений нужно проверять отдельно. Их содержимое доступно в расшифрованном радиозахвате либо в записи на клиенте или проводной стороне точки.

Этапы подключения к Wi-Fi от обнаружения сети и установки защиты до получения IP-адреса и доступа в интернет

Что можно расшифровать с паролем от сети

В WPA2-Personal парольная фраза, точный SSID и необходимые сообщения обмена ключами позволяют разобрать защищённые кадры соответствующего соединения. Для опыта удобнее сохранить подключение целиком, включая все четыре EAPOL-Key. При обновлении ключей и переходе между точками нужен соответствующий служебный обмен.

В настройках IEEE 802.11 включите расшифровку кадров через Enable decryption и добавьте запись wpa-pwd в Decryption Keys. Для учебной сети LabNet пример выглядит как StudyPass2026:LabNet. Подставьте свои пароль и SSID.

WPA3-Personal использует SAE, протокол взаимной аутентификации с созданием общего секрета. Пароля и пассивной записи подключения недостаточно. Нужны дополнительные секреты с контролируемого клиента или точки, например PMK, парный основной ключ. В смешанной сети WPA2/WPA3 проверяйте режим конкретного подключения.

Расшифровка WPA2 не раскрывает HTTPS. Для этого нужны секреты TLS-сеанса, которые некоторые приложения сохраняют в журнал ключей. Без расшифровки полезны доступные заголовки Wi-Fi и признаки повторов.

PMF, защита управляющих кадров, обязательна для соединений WPA3 и противодействует подделке части сообщений, включая разрыв установленной связи. PMF не скрывает весь служебный обмен и не устраняет радиопомехи. Наличие Deauthentication в записи само по себе не доказывает атаку или успешное отключение.

Как выбрать адаптер и канал

Для стенда нужны собственная точка, тестовый клиент и компьютер с отдельным адаптером для записи. Для основного подключения используйте другой адаптер или кабель. Виртуальный интерфейс не добавляет независимый радиоприёмник.

Возможности определяют микросхема, прошивка, драйвер и ОС. Нужны monitor mode, подходящий диапазон, ширина канала и поддержка форматов передачи. Инъекция, отправка произвольных кадров, для пассивной диагностики не требуется.

В Windows для радиозахвата нужны Npcap с поддержкой 802.11 и совместимый драйвер. Виртуальной машине требуется прямой доступ к Wi-Fi-устройству, например через проброс USB.

Зафиксируйте BSSID, диапазон, первичный канал и ширину. Анализатор должен оставаться на нужном канале. Циклическое переключение помогает обнаруживать сети, но оставляет пробелы в записи отдельных соединений.

В примере тестовая точка работает на канале 6 в диапазоне 2,4 ГГц с шириной 20 МГц. Защита включена. Действующую сеть исследуйте с исходными настройками, иначе изменение канала может скрыть сбой.

Видимые Beacon не гарантируют видимость данных на широком канале. Wi-Fi 7 поддерживает каналы до 320 МГц в диапазоне 6 ГГц, а MLO позволяет использовать несколько радиолиний одного соединения. Одноканальная запись может охватить лишь часть обмена.

Как записать подключение в Linux

Пример рассчитан на Linux с NetworkManager, программами iw, dumpcap и Wireshark. Посмотрите интерфейсы и возможности оборудования.

iw dev
iw list

Найдите у адаптера Supported interface modes с пунктом monitor и поддерживаемые частоты. Ниже вместо wlan1 подставьте имя выделенного адаптера. Его обычное подключение прервётся. Не переключайте режим через удалённый сеанс, использующий тот же адаптер.

Команды предполагают клиентский режим под управлением NetworkManager. Выполняйте их по очереди, при ошибке остановитесь.

sudo nmcli device set wlan1 managed no
sudo ip link set wlan1 down
sudo iw dev wlan1 set type monitor
sudo ip link set wlan1 up
sudo iw dev wlan1 set channel 6 HT20
iw dev wlan1 info

Проверьте тип monitor, канал 6 и ширину 20 МГц. При ошибках проверьте драйвер и интерфейсы радиомодуля.

Расположите приёмник рядом с клиентом и запустите двухминутный захват. Во время записи вручную переподключите тестовый клиент и воспроизведите проблему. Запишите время действия.

sudo dumpcap -i wlan1 -a duration:120 -w wifi-test.pcapng

После остановки передайте файл текущему пользователю и откройте запись. Графический анализатор запускайте без повышенных прав.

sudo chown "$(id -u)" wifi-test.pcapng
wireshark wifi-test.pcapng

Верните клиентский режим и управление через NetworkManager. Сделайте это и после неудачного опыта, если режим изменился.

sudo ip link set wlan1 down
sudo iw dev wlan1 set type managed
sudo ip link set wlan1 up
sudo nmcli device set wlan1 managed yes

Какие фильтры использовать в Wireshark

Откройте несколько кадров и найдите IEEE 802.11. Если видны только Ethernet II и IP, нужные радиозаголовки отсутствуют. Выведите в колонки передатчик, приёмник, номер последовательности, флаг Retry и доступные радиопоказатели.

Шпаргалка с фильтрами Wireshark для поиска EAPOL, повторных передач, кадров Wi-Fi, BSSID, DHCP и DNS

Сохраните кадры канала, затем сузьте выборку. Ниже приведены фильтры отображения. Фильтры захвата имеют другой синтаксис и отбрасывают данные до записи.

Что показать Фильтр
Кадры с адресом клиента wlan.addr == 02:11:22:33:44:55
Кадры, переданные клиентом wlan.ta == 02:11:22:33:44:55
Кадры с определённым BSSID wlan.bssid == 02:aa:bb:cc:dd:ee
Объявления Beacon wlan.fc.type_subtype == 0x08
Управляющие кадры wlan.fc.type == 0
Кадры контроля передачи wlan.fc.type == 1
Кадры данных, включая служебные подтипы wlan.fc.type == 2
Сообщения EAPOL eapol
Повторные передачи wlan.fc.retry == 1
Разрывы ассоциации и аутентификации wlan.fc.type_subtype == 0x0a || wlan.fc.type_subtype == 0x0c

Подставьте адреса своей сети, учитывая приватный MAC-адрес клиента. Фильтр BSSID убирает кадры без такого поля, включая обычные ACK. Фильтр может скрыть реально переданные подтверждения.

Фильтр eapol включает повторы, обновления ключей и другие сообщения. Учитывайте участников и последовательность обмена.

Как сузить круг причин

Найдите последний достоверно успешный этап. Ответ ассоциации содержит Status Code, сообщение разрыва может содержать доступный Reason Code. Код отражает объяснение отправителя, но самостоятельно не устанавливает первопричину.

Повторный EAPOL может сопровождать ошибку настройки или недоставленное сообщение. Проверьте, слышит ли анализатор обе стороны, затем сопоставьте запись с журналами клиента и точки.

  • Ассоциация отклонена. Проверьте код результата, параметры защиты и ограничения подключения.
  • Обмен ключами не завершается. Проверьте пароль, фактический режим защиты и приём обоих направлений.
  • Защита установлена, адреса нет. Исследуйте DHCP на клиенте и проводной стороне точки.
  • Локальная сеть работает, сайт недоступен. Проверьте DNS, маршрутизацию, внешнее подключение и сервис.
  • Запись обрывается при перемещении. Проверьте смену BSSID и канала. Клиент мог перейти за пределы наблюдаемой радиолинии.

Пусть телефон быстро прошёл обмен ключами, но остался без адреса. На клиенте видны повторные DHCP-запросы, на проводной стороне обнаружилась задержка ответов сервера. Искать причину нужно на этом участке.

Паузы тоже не всегда означают сбой. При энергосбережении клиент может временно выключать приёмник, а точка сохраняет его кадры. В классических механизмах сведения о накопленном трафике передают TIM и DTIM внутри Beacon. Сопоставьте паузы с состоянием питания клиента и служебным обменом.

При жалобах на скорость сравните передачу до проводного компьютера в локальной сети и до внешнего сервера при одинаковых условиях. Разница результатов поможет выбрать участок для дальнейшей проверки.

Почему Retry не равен проценту потерь

Retry отмечает повторную передачу. Исходный кадр мог дойти, а подтверждение потеряться на обратном пути. Повтор Wi-Fi не равен повтору TCP, транспортного протокола надёжной доставки. Канальный уровень способен исправить ситуацию раньше, чем вмешается TCP.

Сопоставляйте Sequence Number с передатчиком, номером фрагмента и идентификатором потока TID для кадров QoS. У потоков бывают отдельные последовательности, счётчик повторяет значения. Совпадения одного номера недостаточно.

Пусть из 1000 записанных кадров данных одного передатчика 180 имеют Retry. Доля составляет 18%, но называть её процентом потерянных пакетов нельзя. Анализатор мог пропустить попытки, несколько повторов могли относиться к одному кадру, а повторная доставка устранила потерю для приложения.

Сравнивайте одинаковые направления, типы кадров и нагрузки. Оценивайте повторы вместе с задержками. Единой нормы для голоса и фоновых загрузок нет.

Где заканчиваются возможности анализатора

Поле radiotap.dbm_antsignal характеризует сигнал у анализатора. Значение −50 дБм сильнее −75 дБм, но не описывает автоматически приём у телефона за стеной. Приёмник может хорошо слышать точку и плохо слышать клиент.

Оборудование может отбрасывать повреждённые кадры и удалять проверенную FCS до передачи программе. Адаптер или система могут не успевать сохранять поток. Отсутствие ошибок не доказывает чистоту эфира, отсутствие кадра не доказывает потерю у настоящего получателя.

Wireshark не заменяет анализатор спектра, измеряющий радиоизлучение. Помехи от устройств другого типа не появляются как понятные сообщения. Число соседних сетей не измеряет загрузку, важна их активность.

Сохраните BSSID, канал, ширину, адрес клиента, модель адаптера и время сбоя. Сопоставляйте записи с журналами, меняйте один параметр за раз и повторяйте ту же нагрузку. Так проще отличить исправление от случайного улучшения.


12.1111:00 SECURITM | вебинарПДн есть. А контроль где?Знаете, где обрабатываются ПДн и кто за них отвечает? На вебинаре 12.11 покажем, как связать процессы, системы и требования, найти пробелы.Регистрируйтесь! Реклама: ООО «СЕКЪЮРИТМ», ИНН 7820074059, 18+

Рекламодатель
Реклама. АО «Позитив Текнолоджиз». ИНН 7718668887. 18+
Сайт рекламодателя: ptsecurity.com↗️
АО «Позитив Текнолоджиз»