Можно ли перевести адаптер WiFi на Linux-блоке в режим монитора, а затем попросить его присоединиться к определенной сети, защищенной WPA2, чтобы я мог прослушивать весь беспроводной трафик в этой сети?

Я пытаюсь создать что-то похожее на проект фоторамки Driftnet несколько месяцев назад.

Однако есть несколько ключевых отличий, которые мешают мне (пока) успешно завершить это:

  • Я хочу запустить это в моей беспроводной сети.
  • Моя беспроводная сеть использует парольную фразу WPA2.
  • Я знаю эту фразу-пароль (очевидно, но на всякий случай).

То, что я пытаюсь сделать, это эффективно прослушивать весь беспроводной трафик в моей собственной беспроводной сети. (Подумайте: мониторинг использования детьми Интернета.) Я знаю, что даже зашифрованные сети Wi-Fi являются более или менее просто концентраторами, транслирующими все пакеты на все узлы, но я не могу понять, как увидеть (в расшифрованном виде) трафик, который не является моим.

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

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

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

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

Может ли кто-нибудь любезно просветить меня?

2 ответа2

1

Я думаю, что самый простой способ сделать это, чтобы перевести интерфейс в режим монитора, а затем использовать Wireshark.

В wireshark включите беспроводную панель инструментов (меню «Вид») и выберите Wireshark в качестве расшифровщика. Затем нажмите ключи дешифрования и выберите WPA-PWD, видя, что у вас есть пароль, и введите его вместе с вашим SSID.

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

Кроме того, вам может потребоваться переключить настройки FCS и бит защиты в меню «Правка» /«Настройки» /IEEE 802.11.

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

0

У меня такое чувство, что твой план не будет таким надежным, как тебе бы хотелось. Вы должны попытаться расположить свой анализатор так, чтобы он мог надежно принимать каждую передачу от ваших целевых клиентов и AP, и вы должны убедиться, что ваш анализатор способен принимать все те же скорости передачи данных (схемы модуляции), что и ваш цель и AP способны.

Если по какой-либо причине целевой клиент (-ы) спит / просыпается или повторно аутентифицируется по какой-либо причине, вы должны быть уверены, что поймали его ключевое рукопожатие, иначе вы не сможете расшифровать их трафик для этого сеанса. Как упоминалось в @Paul, WPA2 имеет ключи шифрования для каждого пользователя, для каждого сеанса, которые получены из PSK, а также некоторые случайные одноразовые номера, которыми обмениваются при этом рукопожатии ключей. Если вы не захватите рукопожатие ключа с начала сеанса целевого клиента, вы не сможете расшифровать его трафик, даже если знаете PSK. Это одна из вещей, которая делает безопасность WPA и WPA2 выше WEP.

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