Wireshark не отображает пакеты с других сетевых устройств даже в режиме Promisc

Wireshark не отображает пакеты с других сетевых устройств даже в режиме Promisc

Настройка системы:

  1. MacBook Air под управлением Mountain Lion, подключенный по беспроводной сети к маршрутизатору.
  2. Wireshark установлен и захватывает пакеты (у меня отмечен параметр «захватывать все в неразборчивом режиме»)
  3. Я отфильтровываю все пакеты с моим исходным и конечным IP-адресом, используя следующий фильтр ( ip.dst != 192.168.1.104 && ip.src != 192.168.1.104)
  4. В той же сети, что и MacBook, я использую устройство Android (подключающееся через WiFi) для выполнения HTTP-запросов.

Ожидаемые результаты:

  1. Wireshark, запущенный на MacBook, видит HTTP-запрос от устройства Android.

Фактические результаты:

  1. Я вижу только трансляции SSDP от192.168.1.1

Вопрос:
Что мне нужно сделать, чтобы Wireshark, как и Firesheep, мог видеть и использовать пакеты (в частности HTTP) от других сетевых устройств в той же сети?


ОБНОВЛЯТЬ

  1. Как можно перехватить трафик других компьютеров в сети WiFi с помощью Wireshark?кажется, подразумевает, что это невозможно
  2. Кажется, вот это описывает мою проблему:http://seclists.org/wireshark/2010/Jan/70
  3. Я уверен, что сетевой интерфейс находится в режиме 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-пакеты.

Связанный контент