JS 获取 IP、MAC 和主机名的几种方法
本文介绍基于 Windows 平台 ActiveX 控件与 WMI(Windows Management Instrumentation)获取客户端网络信息的传统方法。
方法一:获取 IP 地址
该方法通过调用 WMI 查询 Win32_NetworkAdapterConfiguration 类,解析返回对象的 IPAddress 属性。
var locator = new ActiveXObject("WbemScripting.SWbemLocator");
var service = locator.ConnectServer(".");
service.Security_.ImpersonationLevel = 3;
service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');
// 注:实际需在异步回调中遍历结果集,提取 obj.IPAddress 数组
方法二:获取 MAC 地址和主机名
查询逻辑与方法一相同,核心区别在于解析返回对象的 MACAddress 与 DNSHostName 属性。
var locator = new ActiveXObject("WbemScripting.SWbemLocator");
var service = locator.ConnectServer(".");
service.Security_.ImpersonationLevel = 3;
service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');
// 注:实际需在异步回调中提取 obj.MACAddress 与 obj.DNSHostName
方法三:获取局域网 IP、本机 MAC 和机器名
该方法在一次 WMI 查询中综合提取局域网 IP、MAC 地址及计算机名称,适用于需要同时获取多项网络标识的场景。
var locator = new ActiveXObject("WbemScripting.SWbemLocator");
var service = locator.ConnectServer();
service.. = ;
service.(foo, );

