
В настоящее время я пытаюсь получить имя каждого устройства, подключенного к моей локальной сети, например, телефона, ноутбука, принтера, Chromecast и т. д.
Проведя небольшое исследование, я понял, что довольно просто получить пару IP-адрес-MAC-адрес каждого устройства с помощью ARP-сканирования.
Однако есть ли способ определить имя хоста каждого устройства (например, Galaxy-S20), которое отображается при входе в маршрутизатор и просмотре списка устройств?
Примечание: nmap -sn <IP address>
Предполагается, что запуск команды вернет вам имя хоста указанного IP-адреса, однако в моем случае это не сработало для большинства устройств, поскольку эта команда не вернет имя хоста, если устройство не отвечает на ICMP.
решение1
is there a way to determine the name of each device?
Нет, не надежно. Устройство может ни на что не реагировать или отвечать только минимальной сетевой информацией, которая не будет включать никаких имен, которых может быть несколько.
Конечно, ваша бизнес-среда не допускает неизвестных устройств, поэтому, скорее всего, для каждого устройства в вашей сети имеется хранилище информации, например, DHCP-сервер, база данных аутентификации 802.1x, различные базы данных агентов конечных точек и т. д. Объединение этих нескольких источников информации обычно является наиболее эффективным способом идентификации известных и неизвестных устройств.