1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > javascript获取客户端网卡MAC地址和IP地址和计算机名

javascript获取客户端网卡MAC地址和IP地址和计算机名

时间:2023-02-25 02:30:45

相关推荐

javascript获取客户端网卡MAC地址和IP地址和计算机名

博客分类:other JavaScript 脚本 浏览器 HTML Security在做 B/S 结构的系统时,我们常常需要获取客户端的一些信息,如 IP 和 MAC ,以结合身份验证。 要获取服务器端的 MAC 很容易,但是要获取客户端的 MAC 的地址确要花费一翻心思,通常的做法是调用 Win32API 或直接调用 nbtstat 命令,这样做有很多问题,而另一种方法就是直接用客户端脚本,我们这里用 Javascript ,这样做的好处是不需要服务器端进行处理,有客户端自行获取,传递到服务器端,且速度和可靠性都比在服务器端获取好。

具体实现的html和javascript如下:

< HTML >< HEAD >< TITLE > WMIScriptingHTML </ TITLE >

< META http-equiv =Content-Type content ="text/html;charset=gb2312" >

< SCRIPT language =JScript event ="OnCompleted(hResult,pErrorObject,pAsyncContext)" for =foo >

document.forms[ 0 ].txtMACAddr.value = unescape(MACAddr);

document.forms[ 0 ].txtIPAddr.value = unescape(IPAddr);

document.forms[ 0 ].txtDNSName.value = unescape(sDNSName);

// document.formbar.submit();

</ SCRIPT >

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

< META content ="MSHTML6.00.2800.1106" name =GENERATOR ></ HEAD >

< BODY >

< OBJECT id =locator classid =CLSID:76A64158-CB41-11D1-8B02-00600806D9B6 VIEWASTEXT ></ OBJECT >

< OBJECT id =foo classid =CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223 ></ OBJECT >

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

< FORM id ="formfoo" name ="formbar" action ="index.do" method ="post" >< INPUT value ="00-11-11-B4-52-EF" name ="txtMACAddr" > < INPUT value ="210.42.38.50" name ="txtIPAddr" > < INPUT value ="zhupan" name ="txtDNSName" > </ FORM ></ BODY ></ HTML >

其实最关键的还是用到两个ActiveX:

<OBJECT id=locator classid=CLSID:76A64158-CB41-11D1-8B02-00600806D9B6 VIEWASTEXT></OBJECT>

<OBJECT id=foo classid=CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223></OBJECT>

不过这两个ActiveX都是系统自带,不用去下载或注册。

接下来的工作就是用脚本和ActiveX交互

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。