Случайный режим не работает с Ubuntu и Wireshark

Я использую Ubuntu Linux и установил на нем wireshark. Я вижу входящий и исходящий трафик просто отлично. Теперь я хочу видеть трафик с других устройств, которые находятся в моей локальной сети. Так я и сделал:

$ ifconfig wlan0 promisc

Теперь я беру свой телефон, который находится в той же сети (LAN), и захожу на stackoverflow.com. Теперь я возвращаюсь к wireshark, чтобы остановить захват, а затем отфильтровать трафик по http, но там ничего нет. Что я упустил?

2 ответа

Что вы пропустили, так это то, что случайный режим захватывает только трафик, который видит ваш случайный сетевой адаптер. Он не обладает магическими способностями выходить в сеть и собирать пакеты, предназначенные для других сетевых адаптеров. Современные сети используют коммутаторы, которые проверяют адреса получателей пакетов и отправляют их только на тот порт, к которому нужно перейти, вместо того, чтобы транслировать его на все порты (что является традиционным Ethernet, воплощенным методами с общей средой, такими как 10Base2, и эмулировал с витыми парами "хабы", сделал).

Кроме того, несмотря на стандарты серии 802.11, использующие смешанный режим с общей средой (радиоволны) (более правильно называемый "режимом мониторинга" в мире беспроводной связи), могут работать или не работать в зависимости от набора микросхем и драйвера, поскольку многие устройства реализованы в таком таким образом, что они не дают достаточного контроля, чтобы фактически заставить физическое оборудование передавать пакеты, не предназначенные для станции, в ОС. Это также зависит от режима безопасности сети; WPA использует сеансовые ключи для каждого устройства, поэтому вы не можете видеть трафик на другие станции, потому что он зашифрован незнакомым ключом.

Из "wlan0" я делаю вывод, что это сеть Wi-Fi. Это означает, что вам нужно захватить в режиме монитора. Если это "защищенная" сеть, использующая WEP или WPA/WPA2 для шифрования трафика, вам также потребуется указать пароль для сети в Wireshark и для сетей WPA/WPA2 (что, вероятно, является наиболее защищенной сетью в наши дни).), вам также понадобится перехватить начальное "рукопожатие EAPOL" телефона, когда он подключится к сети, поэтому вы захотите перевести телефон в спящий режим (отключение должно перевести его в спящий режим), запустить захват и затем разбудить это вверх (включите его) и получить доступ к переполнению стека.

См. Раздел Linux на странице "Как перехватить данные в сети 802.11" и на странице "Как расшифровать трафик 802.11" в Wireshark Wiki.

Другие вопросы по тегам