基于ActiveX的JS获取MAC地址与IP实现方案

作者:异步漫步

时间:2026-10-27

浏览:611

本文介绍了一种在IE浏览器环境下,利用JavaScript调用ActiveX控件获取计算机物理地址(MAC)和IP地址的实现方法。通过实例化WMI服务相关对象,执行异步查询Win32_NetworkAdapterConfiguration类,最终通过事件回调提取网络配置信息并弹窗显示。该方法依赖特定浏览器环境及权限设置。

文章目录

JS获取MAC地址与IP的实现原理

本文介绍在JavaScript中获取计算机MAC地址及IP地址的具体实现方式。

复制上述代码进行使用。

ActiveX对象定义与脚本逻辑

具体代码实现如下:

首先需要定义两个ActiveX插件对象,分别用于获取IP地址和物理地址信息。
定义第一个ActiveX对象,ID为locator,类ID为CLSID:76A64158-CB41-11D1-8B02-00600806D9B6,用于建立WMI服务连接。
定义第二个ActiveX对象,ID为foo,类ID为CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223,用于执行异步查询。
<SCRIPT language=JScript event=OnObjectReady(objObject,objAsyncContext) for=foo> 
 if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined " && objObject.IPEnabled == true) 
 { 
 if(objObject.MACAddress != null && objObject.MACAddress != "undefined ") 
 MACAddr = objObject.MACAddress; 
 if(objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != "undefined ") 
 IPAddr = objObject.IPAddress(0); 
 if(objObject.DNSHostName != null && objObject.DNSHostName != "undefined ") 
 sDNSName = objObject.DNSHostName; 
 } 
 </SCRIPT> 
 <SCRIPT language=JScript> 
 var service = locator.ConnectServer(); 
 var MACAddr ; 
 var IPAddr ; 
 var DomainAddr; 
 var sDNSName; 
 service.Security_.ImpersonationLevel=3; 
 service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration '); 
 </SCRIPT> <SCRIPT language=JScript event= "OnCompleted(hResult,pErrorObject, pAsyncContext) " for=foo> 
 alert("物理地址"+MACAddr+"IP地址"+IPAddr+"主机名"+sDNSName))
 </SCRIPT> "

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章