Захват пакетов Wi-Fi позволяет увидеть детали и взаимодействия, которые в противном случае скрыты до того, как они попадут в программное обеспечение, работающее на устройстве. Это делает захват важным инструментом для некоторых типов ошибок.
Основные этапы:
- Выберите подходящий канал для перехвата.
- Захватите трафик.
- Поделитесь записью и хешем пароля от сети WLAN.
1. Как выбрать подходящий канал и ширину
Сети WLAN работают на следующих частотах:
- канал, обычно обозначаемый номером. 1–13 – для каналов 2,4 ГГц, 36–200 – для каналов 5 ГГц.
- с определенной шириной (20, 40, 80 или 160 МГц);
У каждой точки доступа (например, маршрутизатора или узла ячеистой сети) в вашей сети обычно есть уникальный канал 2,4 ГГц и канал 5 ГГц.Вам нужно узнать, к какому из них подключено устройство. Существуют следующие варианты:
Как использовать панель управления маршрутизатора
Если вы используете Nest WiFi, пропустите этот вариант, поскольку информация не будет доступна.
В большинстве маршрутизаторов есть список подключенных устройств, а также указано, какой канал и ширину они используют.
- Узнайте IP-адрес маршрутизатора, следуя инструкциям.
- В веб-браузере перейдите по адресу маршрутизатора, например http://192.168.1.1.
- Войдите в аккаунт. Не помните пароль? Посмотрите наклейку на маршрутизаторе или воспользуйтесь сайтом Router Passwords.
Найдите страницу с названием вроде "Клиенты" или "Подключенные устройства". Например, страница маршрутизатора Netgear может выглядеть так, как показано ниже, или как на устройствах Eero.
Чтобы сопоставить информацию из шага 4 с определенным каналом и пропускной способностью, вам может потребоваться найти другие настройки. Например, для маршрутизатора Netgear:
Если ваш Mac уже подключен к тому же каналу, используйте его.
Удерживая клавишу Option, нажмите на значок WLAN в правом верхнем углу строки состояния на компьютере Mac. Вы увидите обычное меню WLAN с несколькими дополнительными параметрами и информацией. Посмотрите на недоступные пункты меню и найдите тот, в котором упоминается канал.
`Channel 60 (DFS, 5GHz, 40MHz)`
Не удается найти канал и ширину
Если другие способы не помогают, попробуйте:
Перечислите все каналы, которые используют ваши точки доступа (обычно две для каждой точки доступа или узла сети Mesh).
А. Рекомендуется. На телефоне Android можно использовать приложение, например Wifiman или Aruba Utilities.
А. На компьютере Mac можно использовать клавишу
/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport-s, чтобы посмотреть список вариантов.Выполните короткую запись (достаточно 15 секунд) на каждом из этих каналов, следуя инструкциям ниже.
Установите Wireshark (инструкции можно найти в статье Как установить Wireshark).
Откройте каждый из захваченных файлов в Wireshark, примените фильтр отображения
wlan.addr == YOUR_DEVICE'S_MACи проверьте, есть ли какие-либо пакеты.
2. Начните запись
Важно! Как получить четырехэтапное рукопожатие
Если для Wi-Fi включена защита, вам понадобятся ключи шифрования, чтобы расшифровать захваченные пакеты. Ключи шифрования создаются на основе четырехэтапного подтверждения подлинности, которое происходит при подключении устройства к сети, и являются уникальными для каждого соединения между устройством и точкой доступа.
По этой причине для расшифровки полезной нагрузки Wi-Fi ОБЯЗАТЕЛЬНО нужно захватить четырехэтапное рукопожатие. Если устройство уже подключено к сети, когда вы начинаете запись, отключите его и подключите снова (или перезагрузите) после начала перехвата.
Capture на устройстве с macOS
Удерживая клавишу Option на клавиатуре, нажмите на значок WLAN и выберите "Открыть беспроводную диагностику…":
В строке меню Wireless Diagnostics выберите Window > Sniffer (Окно > Анализатор трафика):
Укажите канал и ширину, которые вы получили ранее (на скриншоте ниже приведен пример для канала 60 и ширины 40 МГц):
Нажмите Start и введите пароль. Теперь попробуйте воспроизвести проблему.
Убедитесь, что вы записали четырехэтапное рукопожатие для подключения, как описано в разделе Запись четырехэтапного рукопожатия.
Когда все будет готово, нажмите Stop. Новый файл *.pcap можно найти в /var/tmp, в котором содержится весь трафик. Пример названия файла:(null)_ch100_2018-11-06_10.52.01.pcap.
Как сделать снимок экрана в Linux
Отключите Wi-Fi. Это можно сделать одним из следующих способов:
- Использование графического интерфейса (рекомендуется)
- Используя интерфейс командной строки Network Manager, чтобы указать, что WLAN больше не управляется:
sudo nmcli dev set <wlan-ifname> managed on - Если вы используете другой менеджер сети, выполните аналогичные действия.
Сохраните скрипт. Замените
<wlan-ifname>названием интерфейса Wi-Fi. В этом документе предполагается, что скрипт называетсяsetup-wifi-capture.#!/usr/bin/env bash sudo ifconfig <wlan-ifname> down sudo rfkill unblock wifi sudo iwconfig <wlan-ifname> mode monitor sudo ifconfig <wlan-ifname> up sudo iw dev <wlan-ifname> set channel $@Выполните приведенный выше скрипт, указав канал и максимальную пропускную способность для сканирования. Например, канал 153 с пропускной способностью 80 МГц:
./setup-wifi-capture chan 153 80 MHzОткройте Wireshark. Теперь вы сможете захватывать пакеты на интерфейсе wlan.
3. Как поделиться снимком
Используйте WPA PSK (Raw Key) Generator, чтобы создать хеш пароля. Это позволяет расшифровать запись, не зная пароля.
Вам также нужно поделиться сгенерированным ключом PSK, чтобы другие пользователи могли расшифровать запись.
Приложение
Как установить Wireshark
Вы можете установить Wireshark с помощью команды apt install wireshark в Linux или скачать его с сайта Wireshark.
Как настроить Wireshark для расшифровки трафика
Это не обязательно для обмена файлами захвата. Выполните эти действия, только если хотите самостоятельно изучить расшифрованный трафик в Wireshark.
При использовании защиты WPA2 в сети Wi-Fi ключ WPA2-PSK не применяется напрямую для шифрования и дешифрования трафика. Он используется в четырехэтапном рукопожатии, которое необходимо записать для расшифровки пакетов. Однако если вам нужно отследить только проблемы с подключением к Wi-Fi или сбои в работе сети, которые можно обнаружить по кадрам управления Wi-Fi, вам не нужно записывать четырехэтапное рукопожатие. В любом случае лучше сделать снимок экрана.
Откройте Wireshark и перейдите на страницу настроек (меню Wireshark > Настройки или нажмите **Cmd + , **).
Найдите раздел "IEEE 802.11" в категории "Протоколы" и убедитесь, что установлен флажок "Включить расшифровку".
Нажмите кнопку Изменить рядом с ярлыком Ключи дешифрования.
Нажмите кнопку "+" в левом нижнем углу и выберите вариант wpa-pwd.
Нажмите на столбец ключа в только что созданной строке (справа от строки wpa-pwd), введите ключ WPA2 PSK и SSID в формате
<password>:<ssid>. Например, если название вашей сети –MyHomeNetwork, а ключ WPA2 PSK –myp4ssword, введитеmyp4ssword:MyHomeNetwork.
Нажмите "ОК", чтобы подтвердить действие.
Дополнительную информацию можно найти в официальном руководстве по Wireshark (со скриншотами) на странице How to Decrypt 802.11 (Как расшифровать 802.11).
Если вы используете tshark, передайте следующие аргументы:
tshark -o wlan.enable_decryption:TRUE -o 'uat:80211_keys:"wpa-pwd","<psk>:<ssid>"'
Как раскрасить данные 802.11 в Wireshark
На сайте metageek.com есть удобный цветовой профиль 802.11: Профиль конфигурации Wireshark.