目前,我正在尝试检索连接到本地网络的每个设备的名称,例如我的手机、笔记本电脑、打印机、chromecast 等。
经过一番研究,我知道通过 arp 扫描获取每个设备的 IP 地址-MAC 地址对相当简单。
但是,有没有办法确定每个设备的主机名(例如 Galaxy-S20),就像登录路由器并查看设备列表时看到的那样?
注意:运行nmap -sn <IP address>
应该为您提供指定 IP 的主机名,但是,就我而言,它似乎对大多数设备不起作用,因为如果设备不响应 ICMP,此命令将不会返回主机名。
答案1
is there a way to determine the name of each device?
不,不可靠。设备可能不会响应任何内容,或者仅响应最少的网络信息,这些信息不包含任何名称(可能有多个名称)。
当然,您的商业环境不会允许未知设备,因此您的网络上每个设备很可能都有一个信息存储库,例如 DHCP 服务器、802.1x 身份验证数据库、各种端点代理数据库等。结合这些多种信息源通常是识别已知和未知设备的最有效方法。