
Настройка системы:
- MacBook Air под управлением Mountain Lion, подключенный по беспроводной сети к маршрутизатору.
- Wireshark установлен и захватывает пакеты (у меня отмечен параметр «захватывать все в неразборчивом режиме»)
- Я отфильтровываю все пакеты с моим исходным и конечным IP-адресом, используя следующий фильтр (
ip.dst != 192.168.1.104 && ip.src != 192.168.1.104
) - В той же сети, что и MacBook, я использую устройство Android (подключающееся через WiFi) для выполнения HTTP-запросов.
Ожидаемые результаты:
- Wireshark, запущенный на MacBook, видит HTTP-запрос от устройства Android.
Фактические результаты:
- Я вижу только трансляции SSDP от
192.168.1.1
Вопрос:
Что мне нужно сделать, чтобы Wireshark, как и Firesheep, мог видеть и использовать пакеты (в частности HTTP) от других сетевых устройств в той же сети?
ОБНОВЛЯТЬ
- Как можно перехватить трафик других компьютеров в сети WiFi с помощью Wireshark?кажется, подразумевает, что это невозможно
- Кажется, вот это описывает мою проблему:http://seclists.org/wireshark/2010/Jan/70
- Я уверен, что сетевой интерфейс находится в режиме promisc, потому что при запуске
ifconfig
я получаюen0: flags=8967<UP,BROADCAST,DEBUG,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
решение1
Если вы не подключены через Ethernet к домашнему маршрутизатору, скорее всего, домашний маршрутизатор использует коммутатор для своих портов LAN, а не концентратор, поэтому у каждого порта есть свой собственный домен коллизий, тогда как в концентраторе домен коллизий является общим для всех портов, и вы увидите весь трафик на каждом порту.
Если вы подключены по беспроводной сети, может возникнуть несколько проблем. Во-первых, некоторые драйверы беспроводных карт не поддерживают переход в режим promiscous. С этим ничего нельзя сделать, если только вы не хотите написать свой собственный. Во-вторых, если ваша сеть зашифрована и вы видите только трафик уровня 2 из разных источников, а не ожидаемые протоколы более высокого уровня (что, похоже, не так), то вам необходимо ввести ключ WEP в Wireshark, чтобы он мог выполнить расшифровку. Расшифровка WPA и WPA2 становится сложнее, так как старые версии Wireshark ее не поддерживают, а если она поддерживается, то вам необходимо захватить все рукопожатие, происходящее между маршрутизатором и устройством ( EAPOL packets
), так как между устройством и маршрутизатором генерируются уникальные ключи.
решение2
Чтобы перехватить трафик Wi-Fi других систем, вам придется перевести сетевой адаптер в режим монитора, это требование, характерное для Wi-Fi. В Windows это означает покупку специального адаптера, например AirPcap. Для Linux используйте airmon-ng. В MacBook я не уверен, как это сделать, но вижу много результатов в Google по этой теме. Также верно, что вам нужно находиться в режиме promiscuous, но концентратор нужен только для Ethernet.
Я перевел свою сетевую карту в режим мониторинга и увидел много другого трафика вокруг, но я по-прежнему не видел HTTP/SMTP и т. д. трафика уровня приложений из моей локальной сети WiFi.
На уровне приложения трафик будет зашифрован, как и говорит Фред Томсен в своем посте. Вам нужно будет изучить, как настроить WireShark и вашу точку доступа для расшифровки этого трафика.
решение3
Если ваш Macbook подключен к WiFi-роутеру через Ethernet, то это может быть причиной:
Вероятно, WiFi-роутер работает как коммутатор (а не концентратор). И поэтому MacBook вообще не видит HTTP-пакеты.