使用联网设备上的mac地址获取IP地址

时间:2014-10-15 19:12:41

标签: networking coldfusion network-programming

如果我知道本地网络上设备的mac地址,并且我知道部分IP地址(192.168.112。???),我可以使用任何类型的网络技术找到最后3个数字吗?  该设备是带有Web服务器的vpn上的ip电话。

2 个答案:

答案 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