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

javascript获取客户端网卡MAC地址和IP地址和计算机名  
在做   B/S   结构的系统时,我们常常需要获取客户端的一些信息,如   IP   和   MAC   ,以结合身份验证。   要获取服务器端的   MAC   很容易,但是要获取客户端的   MAC   的地址确要花费一翻心思,通常的做法是调用   Win32API   或直接调用   nbtstat   命令,这样做有很多问题,而另一种方法就是直接用客户端脚本,我们这里用   Javascript   ,这样做的好处是不需要服务器端进行处理,有客户端自行获取,传递到服务器端,且速度和可靠性都比在服务器端获取好。
具体实现的html和javascript如下:
<HTML> <HEAD> <TITLE> WMI   Scripting   HTML </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= "MSHTML   6.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交互
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值