Захват WLAN-трафика

Захват пакетов Wi-Fi позволяет увидеть детали и взаимодействия, которые в противном случае были бы замаскированы, прежде чем они достигнут программного обеспечения, работающего на устройстве, что делает такие захваты важным инструментом для обнаружения некоторых типов ошибок.

Основные этапы:

  1. Найдите правильный канал для прослушивания.
  2. Захватите трафик.
  3. Поделитесь полученным файлом и хэшем вашего пароля WLAN.

1. Определите правильный канал и ширину

Сети WLAN работают на:

Каждая точка доступа (например, маршрутизатор, узел сетки) в вашей сети обычно имеет уникальный канал 2,4 ГГц и канал 5 ГГц, и вам нужно найти, к какому из них подключено устройство. Есть несколько вариантов:

Используйте панель управления вашего маршрутизатора

Если вы используете Nest WiFi , пропустите этот вариант — информация не раскрывается.

Большинство маршрутизаторов имеют список подключенных устройств, а также используемый ими канал и ширину полосы пропускания.

  1. Найдите IP-адрес вашего маршрутизатора с помощью этого руководства .
  2. Перейдите по адресу вашего маршрутизатора в веб-браузере, например http://192.168.1.1 .
  3. Войти. Не знаете пароль? Найдите метку на маршрутизаторе или используйте Router Passwords .
  4. Найдите страницу с названием типа "клиенты" или "подключенные устройства". Например, страница маршрутизатора Netgear может выглядеть следующим образом, или для устройств Eero .

    Вид клиента Netgear

  5. Возможно, вам придется поискать в другом месте настроек, чтобы сопоставить информацию из шага 4 с определенным каналом и пропускной способностью. Например, маршрутизатор Netgear:

    Просмотр каналов Netgear

Используйте свой Mac, если он уже подключен к тому же каналу

Удерживайте клавишу Option на клавиатуре, затем щелкните значок WLAN в правом верхнем углу строки состояния вашего Mac. Вы должны увидеть обычное меню WLAN с несколькими дополнительными опциями и информацией. Посмотрите на недоступные пункты меню и найдите тот, в котором упоминается Channel:

`Channel 60 (DFS, 5GHz, 40MHz)`

Мак WLAN

Не могу найти канал и ширину

Если другие методы не работают, вы можете попробовать:

  1. Перечислите все каналы, которые используют ваши точки доступа (обычно 2 для каждой точки доступа или точки сети).

    а. Рекомендуется . С телефоном Android вы можете использовать приложение Wifiman или Aruba Utilities .

    а. На Mac вы можете использовать /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport-s для вывода списка параметров.

  2. Выполните короткий (достаточно даже 15 секунд) захват на каждом из этих каналов, следуя инструкциям ниже.

  3. Установите Wireshark (для получения помощи см. раздел Установка Wireshark ).

  4. Откройте каждый из захватов с помощью Wireshark, примените фильтр отображения wlan.addr == YOUR_DEVICE'S_MAC и посмотрите, появятся ли какие-либо пакеты.

2. Начать захват

Важно: захват четырехстороннего рукопожатия

Если включена защита для Wi-Fi, вам необходимо знать ключи шифрования для расшифровки захваченных пакетов. Ключи шифрования выводятся из 4-стороннего рукопожатия, которое происходит, когда устройство подключается к сети, и являются уникальными для каждого соединения между устройством и точкой доступа.

Из-за этого вы ДОЛЖНЫ захватить 4-стороннее рукопожатие для расшифровки полезных нагрузок Wi-Fi. Если устройство уже подключено к сети, когда вы начинаете захват, отключите и снова подключите устройство (или перезагрузите его) после начала сниффинга.

Захват на Mac

Удерживая клавишу Option на клавиатуре, щелкните значок WLAN, затем выберите «Открыть диагностику беспроводной сети…»:

Захват WLAN для Mac

В строке меню «Диагностика беспроводной сети» выберите «Окно» > «Сниффер» :

Анализатор WLAN для Mac

Установите канал и ширину на значения, которые вы получили ранее (пример снимка экрана для канала 60 и ширины 40 МГц):

Канал и ширина Mac WLAN

Нажмите Start и введите свой пароль. Теперь попробуйте воспроизвести проблему. Убедитесь, что вы захватили 4-стороннее рукопожатие из соединения, как указано в Capturing the 4-way handshake .

После этого нажмите Stop . Новый файл *.pcap можно найти в /var/tmp , который содержит весь трафик. Пример имени файла: (null)_ch100_2018-11-06_10.52.01.pcap .

Захват на Linux

  1. Отключите Wi-Fi. Это можно сделать следующим образом:

    • Использование графического интерфейса (рекомендуется)
    • Используя Network Manager CLI, дайте команду прекратить управление интерфейсом WLAN: sudo nmcli dev set <wlan-ifname> managed on
    • При использовании альтернативного сетевого менеджера выполните соответствующие настройки.
  2. Сохраните этот скрипт. Замените <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 $@
  3. Выполните предыдущий скрипт и передайте канал и самую высокую пропускную способность для прослушивания, например, канал 153 с пропускной способностью 80 МГц:

    ./setup-wifi-capture chan 153 80 MHz
  4. Откройте Wireshark, и теперь вы сможете захватывать пакеты на интерфейсе WLAN.

3. Поделитесь снимком

  1. Используйте WPA PSK (Raw Key) Generator для генерации хеша вашего пароля. Это позволяет вам расшифровать захват, не зная вашего открытого пароля.

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

Приложение

Установить Wireshark

Вы можете установить Wireshark с помощью apt install wireshark в Linux или загрузить его с веб-сайта Wireshark .

Настройте Wireshark для расшифровки трафика

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

С безопасностью WPA2 в Wi-Fi, WPA2-PSK не используется напрямую для шифрования и дешифрования трафика. Он используется в 4-стороннем рукопожатии , которое вам нужно захватить для расшифровки пакетов. Однако, если все, что вы пытаетесь захватить, это проблемы с подключением к Wi-Fi или обрывы связи, которые можно почерпнуть из кадров управления Wi-Fi, вам не нужно захватывать 4-стороннее рукопожатие. В любом случае, захватить его в любом случае не повредит.

Откройте Wireshark и откройте страницу настроек ( меню Wireshark > Настройки или **Cmd + , **).

  1. Найдите раздел «IEEE 802.11» в категории «Протоколы» и убедитесь, что установлен флажок «Включить дешифрование»:

    Настройки Wireshark для Mac

  2. Нажмите кнопку «Изменить» рядом с надписью «Ключи дешифрования» .

  3. Нажмите кнопку «+» в левом нижнем углу и выберите опцию «wpa-pwd».

    Mac Wireshark WPA и пароль

  4. Щелкните столбец ключей вновь созданной строки (прямо рядом со строкой wpa-pwd), введите ваш WPA2 PSK и SSID в формате <password>:<ssid> . Например, если имя вашей сети было MyHomeNetwork , а ваш WPA2 PSK был myp4ssword , введите myp4ssword:MyHomeNetwork .

    SSID Wireshark для Mac

  5. Нажмите «ОК» для подтверждения.

Дополнительную информацию см. в официальном руководстве Wireshark (со скриншотами) по адресу Как расшифровать 802.11 .

При использовании tshark передайте следующие аргументы:

tshark -o wlan.enable_decryption:TRUE -o 'uat:80211_keys:"wpa-pwd","<psk>:<ssid>"'

Раскрасить данные Wireshark 802.11

На сайте metageek.com можно найти удобный цветовой профиль 802.11: Профиль конфигурации Wireshark .