
Я использую wireshark на ubuntu 14.04 и пытаюсь прослушивать трафик wifi других устройств в моей сети. Я запускаю wireshark или tshark на wlan0, начинаю захватывать пакеты и посылать несколько пингов или открывать несколько страниц на моем телефоне, но мой ноутбук с ubuntu не захватывает это - он видит только пакеты со своего собственного ip на другие ip-адреса, с других ip-адресов на свой собственный ip и широковещательные пакеты.
Включение режима неразборчивости вручную для wlan0 sudo ip link set wlan0 promisc on
не помогает.
Похоже, что мой адаптер Wi-Fi может использовать как режим promiscuous, так и режим monitor, потому что я могу это сделать sudo airmon-ng start wlan0
, и появится новый mon0
интерфейс, и я смогу перехватить его пакеты с помощью wireshark, однако это не то, что мне нужно. Все эти пакеты на mon0 относятся к протоколу 802.11, а не к tcp, icmp и т. д., как на wlan0.
Обновлять
Я решил исключить возможность того, что NetworkManager Ubuntu или что-то еще мешает работе Wireshark, поэтому попробовал Kali Linux.
Вот точные шаги, которые я использую:
- Загрузить кали линукс
- Подключитесь к моей домашней сети с помощью виджета беспроводных сетей Gnome.
- Запустите Wireshark, нажмите Capture Options, проверьте wlan0, проверьте, что Prom. Mode включен, а Mon. Mode отключен, все остальное оставьте по умолчанию.
- нажмите старт
- Проверьте IP-адрес моего ноутбука Kali Linux с моего телефона.
- Обратите внимание, что я вижу пакеты ICMP с IP-адреса моего телефона на IP-адрес моего ноутбука Kali и наоборот.
- Пинг 8.8.8.8 с моего телефона
- Обратите внимание, что я не вижу никаких пакетов с IP-адреса моего телефона куда-либо, но я вижу пакеты протокола LLC от «Netgear_d9:19:e8» (полагаю, это мой маршрутизатор) до «SamsungE_2d:ad:da» (полагаю, это мой телефон).
решение1
Я считаю, что вы можете решить свою проблему с помощью airmon-ng (он должен быть установлен по умолчанию в Kali).
Ответ предоставленКурт Кнохнерна ask.wireshark.org Источник
ifconfig -a
Видите ли вы интерфейс wlan0 или wlan1?
Если нет, ваша беспроводная карта не распознается вашим ядром, и Wireshark ничего не может с этим поделать. Остановитесь здесь и спросите людей на форуме пользователей вашего дистрибутива Linux (Ubuntu, Fedora и т. д.), как добавить рабочий драйвер для вашей беспроводной карты.
Если вы видите wlan0/1, продолжайте
sudo airmon-ng start wlan0
или
sudo airmon-ng start wlan1
в зависимости от того, какой беспроводной интерфейс вы хотите захватить. Эта команда должна выдать следующее сообщение:
monitor mode enabled on mon0
Теперь выполните захват на mon0 с помощью tcpdump и/или dumpcap.
sudo tcpdump -ni mon0 -w /var/tmp/wlan.pcap
или
sudo dumpcap -ni mon0 -w /var/tmp/wlan.pcap
Затем откройте этот файл с помощью Wireshark.
wireshark -nr /var/tmp/wlan.pcap
решение2
Режим Promiscuous Mode редко, если вообще когда-либо, делает то, что вам нужно на устройствах Wi-Fi; вам придется выполнять захват в режиме мониторинга. (Нет, здесь нет обходного пути.)
Все пакеты на mon0 соответствуют протоколу 802.11.
Это потому, что вы находитесь в защищенной сети, использующей шифрование WEP или WPA/WPA2. Вам придется предоставить Wireshark пароль для сети, а для сетей, использующих WPA/WPA2 (что делают большинство защищенных сетей), вам придется для каждого из устройств, трафик которых вы хотите расшифровать, принудительно отключиться от сети и снова подключиться к сети после начала захвата, чтобы захватить начальное рукопожатие EAPOL. Для телефона или планшета будет достаточно выключить и включить их снова; для ноутбука будет достаточно закрыть крышку и снова открыть ее. (Вы хотите перевести их в спящий режим и заставить снова проснуться.)
Видетьстраница Wireshark wiki «Как расшифровать 802.11»для получения подробной информации.