有线网络中未知MAC地址设备的IP地址获取方法咨询
有线网络中未知MAC地址设备的IP地址获取方法咨询
嗨,我来帮你搞定这个问题!既然你的场景里只有两台设备连在无管理交换机,还断了互联网,而且不知道目标设备(device1)的MAC地址,那可以试试下面这些在Windows设备(device2)上操作的方法:
方法一:Ping扫描子网 + 查看ARP缓存
这是最常用的办法,原理是通过ping唤醒目标设备的ARP条目,然后从缓存里找到它:- 先打开命令提示符(CMD)或者PowerShell,输入
ipconfig,找到以太网适配器的IPv4地址和子网掩码,比如假设你的device2 IP是192.168.1.10,子网掩码255.255.255.0,那整个子网就是192.168.1.0/24;如果设备没手动设IP,大概率是自动私有IP(169.254.x.x段),子网掩码255.255.0.0。 - 用命令快速扫描整个子网的IP:
- 要是子网是
192.168.1.x这类C段,输入:for /L %i in (1,1,254) do ping -n 1 -w 100 192.168.1.%i - 要是是
169.254.x.x段,输入:for /L %i in (0,1,255) do for /L %j in (0,1,255) do ping -n 1 -w 100 169.254.%i.%j(这个会慢一点,耐心等)
- 要是子网是
- 扫描完成后,输入
arp -a,查看输出的ARP缓存表——表里除了device2自己的IP,剩下的那个就是device1的IP和对应的MAC地址啦。
- 先打开命令提示符(CMD)或者PowerShell,输入
方法二:PowerShell进阶探测
如果你习惯用PowerShell,可以用更直观的命令:- 先完成上面的ping扫描步骤,或者直接运行:
Get-NetNeighbor - 这个命令会列出所有相邻设备的IP、MAC和状态,同样排除自己的IP,剩下的就是目标设备的信息。
- 先完成上面的ping扫描步骤,或者直接运行:
方法三:端口扫描应对不响应Ping的设备
有些设备可能禁用了ICMP(不响应ping),这时候可以扫描常用端口来探测它的存在:- 打开PowerShell,用这个命令扫描子网内设备的常用端口(比如SMB的445端口):
把1..254 | ForEach-Object { Test-NetConnection "192.168.1.$_" -Port 445 -InformationLevel Quiet } | Where-Object { $_ -eq $true }192.168.1换成你的子网前缀就行,要是是169.254段,就改成对应的范围。 - 输出为
True的IP就是存在的设备IP,排除自己的就是device1的IP。
- 打开PowerShell,用这个命令扫描子网内设备的常用端口(比如SMB的445端口):
需要注意的是,两台设备必须处于同一IP子网,无管理交换机不会做路由转发,所以默认情况下设备要么会自动协商到同一子网,要么你手动设置了同网段的静态IP,这是前提哦!
备注:内容来源于stack exchange,提问作者A__
相关产品推荐
相关产品推荐

