[转]利用JS获取IE客户端IP及MAC的实现

转载 2007年10月08日 22:37:00
  在做B/S结构的系统时,我们常常需要获取客户端的一些信息,如IP和MAC,以结合身份验证。在ASP.NET中,要获取服务器端的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=NICPost.asp method=post><INPUT value=00:05:5D:0E:C7:FA name=txtMACAddr> <INPUT value=192.168.0.2 name=txtIPAddr> <INPUT value=typ 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交互,脚本可以是js或Vbs我个人喜欢用js。

 

JS获取客户端IP MAC(只支持IE浏览器)

  • 2015年09月27日 11:24
  • 2KB
  • 下载

使用非ActiveX,获取客户端IP地址、MAC和主机名的方法

前端JS获取客户端信息有两大种方法,一是通过ActiveX控件,二是通过第三方。 如果项目的用户群不明确,用户可能会用各种方式浏览网页,这个时候不推荐使用ActiveX控件;如果做的是企业级项目,目标...
  • a78270528
  • a78270528
  • 2017-08-16 21:18:10
  • 1144

IE下通过javascript如何获取本地网卡IP,MAC地址,计算机名

IE下通过javascript如何获取本地网卡IP,MAC地址,计算机名2008/12/26 23:10在做 B/S 结构的系统时,我们常常需要获取客户端的一些信息,如 IP 和 MAC ,以结合身份...
  • zqd32
  • zqd32
  • 2010-07-09 17:55:00
  • 2663

js 客户端 mac ip 地址

  • 2012年02月09日 20:22
  • 9KB
  • 下载

JS获取客户端IP地址、MAC和主机名的3个方法

这篇文章主要介绍了js获取客户端IP地址、MAC和主机名的7个方法汇总,JS本身是不支持获取IP地址等信息的,本文通过其它方法实现,需要的朋友可以参考下 今天在搞JS(JavaScript)...
  • yuwq123
  • yuwq123
  • 2017-06-17 10:32:22
  • 1768

js获取客户端网卡的IP地址、MAC地址

js获取客户端网卡的IP地址、MAC地址的方法                 MAC地址:  IP地址:  主机名:          var sMacAddr=""...
  • jbxue123
  • jbxue123
  • 2014-07-02 17:30:26
  • 2715

JS获取客户端IP地址、MAC和主机名的7个方法汇总

这篇文章主要介绍了JS获取客户端IP地址、MAC和主机名的7个方法汇总,JS本身是不支持获取IP地址等信息的,本文通过其它方法实现,需要的朋友可以参考下 今天在搞JS(javascript)获取客户端...
  • posonrick
  • posonrick
  • 2016-09-19 12:42:35
  • 8297

JAVASCRIPT获取客户端IP及MAC地址

利用javascript获取IE客户端IP及MAC的实现在做B/S结构的系统时,我们常常需要获取客户端的一些信息,如IP和MAC,以结合身份验证。在ASP.NET中,要获取服务器端的MAC很容易,但是...
  • guoguo1980
  • guoguo1980
  • 2007-07-13 10:47:00
  • 6261

JS获取Ip和Mac

  • 2010年06月24日 16:28
  • 20KB
  • 下载

js获取客户端ip MAC 计算机名

  • 2011年06月09日 21:10
  • 2KB
  • 下载
收藏助手
不良信息举报
您举报文章:[转]利用JS获取IE客户端IP及MAC的实现
举报原因:
原因补充:

(最多只允许输入30个字)