基于ActiveX的JS获取MAC地址与IP实现方案
作者:异步漫步时间:2026-10-27 21:02:45浏览:612
本文介绍了一种在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> "作者最新文章
D3.js 比例尺与坐标轴的配置详解
2026-11-05 16:54:46
JavaScript怎么遍历对象的Symbol键和不可枚举属性
2026-11-05 13:13:39
封装一个健壮的JS字符串判空工具函数
2026-11-05 12:16:14
JavaScript合并数组的三种常用方法:concat、扩展运算符与push
2026-11-05 11:22:29
JavaScript立即执行函数(IIFE)是什么及基本语法
2026-11-05 10:51:19
