如果我知道本地网络上设备的mac地址,并且我知道部分IP地址(192.168.112。???),我可以使用任何类型的网络技术找到最后3个数字吗? 该设备是带有Web服务器的vpn上的ip电话。
答案 0 :(得分:4)
这适用于Windows环境。使用CFEXECUTE运行包含以下命令的批处理文件:
C:\>arp -g
CF代码看起来像:
<cfexecute name="arp.bat" variable="arpAddresses"/>
如果您在卡上注册了多个IP,您可能还需要尝试为该命令添加一个输入。结果将如下所示。
Interface: 10.0.0.21 --- 0xc
Internet Address Physical Address Type
10.0.0.4 dc-0e-a1-34-c6-5e dynamic
10.0.0.6 00-26-2d-7d-b6-ae dynamic
10.0.0.8 8c-89-a5-54-4b-e8 dynamic
10.0.0.9 84-8f-69-aa-10-2d dynamic
10.0.0.11 00-15-5d-00-32-03 dynamic
10.0.0.14 00-8c-fa-3f-56-8e dynamic
10.0.0.15 00-15-5d-00-32-12 dynamic
10.0.0.22 78-ac-c0-a4-fd-17 dynamic
...
它们是由与第63行总是出现的MAC地址相隔的空格分开的?你必须试验一下。使用这些数据,你应该能够构建一个查询或结构或数组或其他任何东西,并弄清楚哪个IP属于哪个IP。
我想补充一点,有一些java库允许访问堆栈,也可能会让你到那里。
答案 1 :(得分:2)
如果两个设备都在同一个本地网络上,您可以尝试迭代最后一个八位字节(1-254)中的每个IP并进行ping操作,然后解析操作系统 ARP的输出命令查看MAC地址。
http://compnetworking.about.com/od/tcpip/f/convertmacipadd.htm
免责声明,我从未尝试过这样的YMMV