返回列表 发帖

[AU3基础] 请教,如何获取当前网关IP地址的MAC地址?

看到例子都是几乎都是获取本机IP地址和MAC地址的,没留意到有相关的针对IP地址,提前其MAC地址的方法?

贴个例子是获取网关ip地址的:
  1. MsgBox(0,0,_Gateway())
  2. Func _Gateway()
  3.         Dim $IPGateway
  4.         Dim $objWMIService = ObjGet("winmgmts:\\.\root\CIMV2")
  5.         Dim $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = TRUE", "WQL", 0x10 + 0x20)
  6.         For $objItem In $colItems
  7.                 $IPGateway = $objItem.DefaultIPGateway(0)
  8.                 If StringInStr($IPGateway, ".") > 0 Then ExitLoop
  9.                 Next
  10.                 If StringRegExpReplace($IPGateway, '(\d+\.){12}', '') = "" Then
  11.                 MsgBox ( 0 , "ERROR" , "无法获取本地网关,请检查网线是否连接且已通过认证" )
  12.                 Else
  13.                 Return StringRegExpReplace($IPGateway, '(\d+\.){12}', '')
  14.                         EndIf
  15. EndFunc
复制代码

本帖最后由 229989799 于 2018-1-10 20:08 编辑

ping 192.168.1.1    //ping网关,使本机与之产生通信,从而缓存对方的MAC
arp -a                     //查看arp缓存的IP/MAC表

这是比较笨 的办法。利用cmd回显的办法
如果不在一个局域网基本上看不到对方的MAC地址

TOP

ping 192.168.1.1    //ping网关,使本机与之产生通信,从而缓存对方的MAC
arp -a                     // ...
229989799 发表于 2018-1-10 20:06



这的确是一个获取MAC地址的方法,

我的打算是每3分钟监测一次的,假设每次都开和小黑窗(CMD)出来获取,对屏幕就有干扰了
应该也有思路可以隐藏小黑窗,但这应该不是一个终极解决办法,

难道Autoit没有方法或者函数,直接对一个IP地址获取其MAC地址了。。。

TOP

发送ARP数据包

TOP

_API_Get_NetworkAdapterMAC

TOP

_API_Get_NetworkAdapterMAC
zch11230 发表于 2018-1-10 22:25



感谢感谢,试验成功了。。。

TOP

学习一下 ,貌似不错

TOP

学习一下 ,貌似不错

TOP

学习一下,5#方法不错

TOP

批处理好像也可以获取网关mac

TOP

返回列表