2010-10-17 3 views
6

Я пишу модуль Python для поиска ближайших WiFi-клиентских устройств. Весь мой текущий сканер - это прослушивание запросов Probe и регистрация MAC-адреса клиентов.Какие методы, кроме прослушивания Probe Requests, могут использоваться для поиска устройств 802.11 wifi?

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

Мне интересно, есть ли другой способ обнаружить устройства. Использование this site в качестве руководства 802,11, я пришел с идеями:

  • Отправка широковещательных пакетов с родовыми SSIDs, чтобы увидеть, если клиенты реагируют. Например, посылая в эфир с «Netgear» как AP SSID и посмотреть, если все клиенты с известными профилями «NetGear» ответить
  • Отсылают Disassociation пакеты, чтобы заставить уже подключенных клиентов пересканировать радиоэфир

I еще не тестировали эти две идеи. Просто плюньте.

Мысли?

+0

Привет, извините, что вскочил на вашу тему, но я разработчик Jr.Javascript, и мне действительно нужно создать что-то вроде вашего Python Module (указать MAC-адрес клиента из запросов зонда). У вас есть какая-либо информация/ссылки/руководства. может направить меня, чтобы добиться чего-то подобного? Я открыт для любых языков, имеющих очень тяжелое время! –

ответ

3

Я не думаю, что идея вещания будет работать. Широковещательный трафик в 802.11 не отключен, поэтому нет никаких причин для того, чтобы станции отвечали на такой трафик . Единственный способ - подключиться к AP в , и в этом случае вы можете сделать широковещательный запрос ICMP echo или что-то подобное (но вы получите только ответы от станций в ESS).

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

Я бы предложил просто обнюхивать весь трафик и отслеживать, какие MAC-адреса вы видите. Вы не должны зависеть от зондирования зон , но вы зависите от того, что они когда-нибудь отправляют что-то (что-нибудь).

1

Вы также можете искать фреймы данных и фреймы данных - нуль, отправленные клиентским устройством Wi-Fi в точку доступа. Эти восходящие линии кадрами из STA будут иметь значения ToDs = 1 и FromDs = 0 в поле управления кадрами. Даже если клиентское устройство не активно загружает данные, большинство из них часто отправляет необработанные кадры данных, либо в режиме keep-alive, либо для сигнализации текущего состояния энергосбережения с точкой доступа.

3

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

Ваша первая идея - создание AP с общим SSID - очень похожа на хакерство WiFi, известное как Mis-Association (среди других имен). Зайдите в http://www.packtpub.com/article/backtrack-5-attacking-the-client для получения дополнительной информации о том, как злоумышленники используют эту технику.

Если вы были так склонны, вы можете дождаться запросов на зонд с соседних клиентских устройств, а затем создать AP с SSID, который соответствует тому, что ищет клиент. Конечно, основным недостатком этого подхода является возможная потребность в таком количестве точек доступа как клиентских устройств.

Возможно, вы также можете использовать некоторые идеи отсюда: http://hackaday.com/2011/10/04/wifi-jamming-via-deauthentication-packets/ Информация немного редка, но она, по-видимому, предполагает, что можно отправить пакет деаутентификации в Broadcast (255.255.255.255) по данному каналу и чтобы все клиенты на этом канале были вынуждены повторно идентифицировать свои соответствующие точки доступа (при условии, что они были на одном). Тогда вы можете просто подождать reauths и получить вашу информацию таким образом. Может быть, кто-то еще может это подтвердить?

+1

Святая корова, я только что заметил даты здесь ... О, хорошо, может быть, кто-то найдет это полезным, lol. –

+0

, если у вас есть ссылки, которые вы можете направить мне, чтобы дать мне представление о том, как начать что-то подобное, как вы, ребята, строите? –