Кроме UDP Broadcast или Multicast, какие еще методы я могу использовать в сети WiFI для обнаружения компьютеров? - PullRequest
0 голосов
/ 25 марта 2010

Я реализовал простой протокол UDP пинг / понг для обнаружения других компьютеров, подключенных к тому же маршрутизатору WiFI. Это прекрасно работает на многих маршрутизаторах WiFI и Ethernet, но когда я выхожу на улицу, чтобы попробовать, во многих общественных сетях WiFI кажется, что либо UDP Broadcasts / Multicast отключен, либо UDP отключен полностью.

Какие еще варианты у меня есть, чтобы обнаружить компьютеры, подключенные к маршрутизатору WiFI? (Я хотел бы создать специальную сеть между членами моей сети, но это невозможно)

Я думал о грубых попытках TCP (пытаясь открыть соединения со всеми возможными IP-адресами в моей подсети), но это было бы очень дорого, и мне пришлось бы совершать циклы несколько раз и все равно не найти каждую машину, которая недавно подключена к сети .

Ответы [ 2 ]

6 голосов
/ 29 марта 2010

Нет простого способа обнаружить только «компьютеры». Однако вы можете найти почти все сетевые устройства, использующие запросы ARP.

Шаги будут:

  1. Подключение к сети
  2. Получить диапазон IP-адресов сети (например: «192.168.0.0/24")
  3. Отправить запрос ARP для каждого возможного адреса в этом диапазоне («192.168.0.1» => «192.168.0.254»)
  4. Ждите ответов

Обычно сетевые устройства отвечают на запросы ARP, поскольку для работы IPv4 требуется ARP.

Вы можете найти дополнительные ресурсы здесь .

Примечание. Вероятно, для этого вам потребуются права администратора (root в UNIX). Отправка поддельных ARP-запросов обычно требует повышенных привилегий.

Другим способом может быть отправка широковещательных пингов (ping -b 192.168.0.255 в ОС UNIX). Но компьютеры Windows (и некоторые другие устройства) обычно не отвечают на такие эхо-запросы.

0 голосов
/ 28 марта 2010

Вы можете попробовать Добрый день , возможно.

также, на многих точках доступа можно отключить связь клиента с клиентом. Возможно, это то, с чем вы столкнулись во время тестирования.

...