我正在尝试扫描我的本地网络并返回所有已连接设备的列表,其中包含 IP、MAC 地址和设备名称。
就设备名称而言,我的意思是我的 iPhone 应该显示“Jamies-iPhone”,就像我在路由器管理应用程序中检查已连接设备时那样。
目前我已经使用以下方法获取IP和MAC:
sudo nmap 192.168.1.0/24 -sP > file1.txt
它向我提供了文件“file1.txt”中的以下输出
Starting Nmap 6.47 ( http://nmap.org ) at 2016-09-01 18:37 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00027s latency).
MAC Address: 8C:34:FD:E2:E6:48 (Unknown)
Nmap scan report for 192.168.1.3
Host is up (0.0038s latency).
MAC Address: 70:56:82:C6:BE:EE (Apple)
Nmap scan report for 192.168.1.10
Host is up (0.18s latency).
Nmap done: 256 IP addresses (2 hosts up) scanned in 6.42 seconds
我找不到任何有关如何显示设备名称的信息,它只是说“Apple”。我特别想查看我的苹果电视的名称,因为我有几个,并且希望能够区分它们。
答案1
虽然nmap
可用于发现联网设备,但您给出的当前输出仅显示 MAC 地址。nmap
与其供应商有一张 MAC 前缀表,这就是 Apple 出现的原因。您需要执行指纹测试 ( -sV
) 以查看更多详细信息(如果有)或使用其他工具(例如mdns-scan
或 )mzclient
来检测 Apple TV。
答案2
你需要使用SMB 操作系统发现脚本:
尝试通过 SMB 协议(端口 445 或 139)确定操作系统、计算机名称、域、工作组和当前时间。这是通过使用匿名帐户启动会话来完成的(或者使用适当的用户帐户,如果给定的话;它可能没有什么区别);为了响应会话启动,服务器将发回所有这些信息。
根据情况(例如,工作组名称与域和林名称互斥)和可用信息,输出中可能包含以下字段:
- 操作系统
- 计算机名称
- 域名
- 森林名称
- 完全合格域名
- NetBIOS 计算机名称
- NetBIOS 域名
- 工作组
- 系统时间
用法示例
wget http://nmap.org/svn/scripts/smb-os-discovery.nse
nmap --script smb-os-discovery.nse -p445 192.168.1.0/24
sudo nmap -sU -sS --script smb-os-discovery.nse -p U:137,T:139 192.168.1.0/24
替代方法:使用地址解析协议arp
该命令arp -a
将显示 LAN 网络中的所有主机名