Список всех устройств, подключенных к сети

Я изучаю сокеты на C, но не могу найти никакой информации о получении списка всех подключенных устройств в моей сети WLAN (я использую Linux).

Кто-нибудь может предоставить мне информацию или где я могу начать учиться?

3

Решение

Вам необходимо проверить все ассоциации на вашей беспроводной точке доступа (маршрутизатор Wi-Fi).
Большинство маршрутизаторов Wifi имеют веб-интерфейс, на котором отображаются все связанные устройства.

Если у вас есть telnet/ssh/console доступ к вашей точке доступа, вы можете попробовать одно из следующих в зависимости от вашего оборудования Wi-Fi и драйвера.

Беспроводная карта Broadcomm:

iw assoclist

Беспроводная карта Atheros:

wl_atheros assoclist

Вы также можете попробовать iwlist(8)Linux-программа для получения информации от беспроводного интерфейса.

iwlist [interface] scan

или же

iwlist [interface] ap/accesspoint/peers

Пожалуйста, обратитесь к документации вашего драйвера Wi-Fi для деталей поддержки.

2

Другие решения

Посмотрите в кэш ARP. ARP означает «Протокол разрешения адресов», и именно так машины превращают IP-адрес в аппаратный адрес.

Не существует действительно универсального способа получить список всех сетевых устройств, но ARP подходит близко.

Пинг или просто открытие и закрытие соединения с хорошо известным портом на каждом адресе в вашей подсети довольно быстро заполнило бы кэш ARP …

1

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

Например, если ваша сеть 192.168.1.0/24 Ваш широковещательный IP-адрес будет `192.168.1.255 а команда на linux есть ping -b 192.168.1.255, Затем вы можете получить результат команды в вашей программе и поработать над ним, чтобы извлечь ip других подключенных устройств.

Отказ от ответственности: Некоторые устройства могут быть настроены так, чтобы никогда не отвечать на запрос ping, тогда они будут невидимы с помощью этого метода …

Редактировать : Если вы используете IPv6, вы можете посмотреть на Протокол обнаружения соседей (НДП) какой вид замены ARP.

1

Вы должны рассмотреть возможность использования существующих инструментов в Linux env. Для начала посмотрите здесь: Получить все подключенные IP-адреса на машине Linux

Не изобретай велосипед заново. Если ты можешь.

man netstat
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector