精华内容
下载资源
问答
  • Js获取客户端MAC地址

    2013-12-10 16:26:46
    单点登录时需要获取用户的电脑IP或mac地址来进行单点登录验证。
  • 今天在搞JSjavascript获取客户端IP的小程序,上网搜了下,好多在现在的系统和浏览器中的都无效,很无奈,在Chrome、FireFox中很少搞到直接利用ActiveX获取IP等的JS脚本。下面的代码是我在所有windowsNT5.0及以上...
  • 主要介绍了如何在php与js中分别获取客户度mac地址的方法,需要的朋友可以参考下
  • js获取客户端MAC地址

    万次阅读 2018-12-05 17:18:58
    最近遇到一个需求,医院要求呼叫中心账号必须对应MAC地址,也就是说该MAC地址必须和呼叫中心账号对应才可使用,这可就难道我了,这...问题二:每台电脑上都有多个MAC地址,那么应该选用哪一个MAC地址 MAC地址是每台...

    最近遇到一个需求,医院要求呼叫中心账号必须对应MAC地址,也就是说该MAC地址必须和呼叫中心账号对应才可使用,这可就难道我了,这需求就要求每次都判断用户登录的电脑MAC地址是否有呼叫中心账号,当然只针对IE浏览器,毕竟其他浏览器是直接就给禁止此功能的。

    那么首先问题一:如何才能通过页面访问得到本地MAC地址

    问题二:每台电脑上都有多个MAC地址,那么应该选用哪一个MAC地址

    MAC地址是每台电脑链接网络的物理地址,是唯一标识,想要从浏览器获取电脑的信息,那么就需要ActiveX,所以其他浏览器是没有办法通过js获取MAC地址的。

    方法一:(推荐)需要客户端设置将服务器地址加入受信任站点

    <html>  

    <head>  

    <title>获取客户端MAC地址</title>  

    </head>  

    <body>  

    <object classid="CLSID:76A64158-CB41-11D1-8B02-00600806D9B6" id="locator" style="display:none;visibility:hidden"></object>  

    <object classid="CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223" id="foo" style="display:none;visibility:hidden"></object>   

    <form name="myForm">  

    <br/>MAC地址:<input type="text" name="macAddress">  

    <br/>IP地址:<input type="text" name="ipAddress">  

    <br/>主机名:<input type="text" name="hostName">  

    </form>  

    </body>  

    </html>  

    <script language="javascript">  

    var sMacAddr="";  

    var sIPAddr="";  

    var sDNSName="";  

    var service = locator.ConnectServer();  

    service.Security_.ImpersonationLevel=3;  

    service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');  

    </script>  

    <script FOR="foo" EVENT="OnObjectReady(objObject,objAsyncContext)" LANGUAGE="JScript">  

             if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true){  

                               if(objObject.IPEnabled && objObject.IPAddress(0) !=null && objObject.IPAddress(0) != "undefined")  

                                             sIPAddr = objObject.IPAddress(0);  

                               if(objObject.MACAddress != null &&objObject.MACAddress != "undefined")  

                         sMacAddr = objObject.MACAddress;  

                               if(objObject.DNSHostName != null &&objObject.DNSHostName != "undefined")  

                                             sDNSName = objObject.DNSHostName;  

              }  

    </script>  

      

    <script FOR="foo" EVENT="OnCompleted(hResult,pErrorObject, pAsyncContext)" LANGUAGE="JScript">  

    myForm.macAddress.value=sMacAddr;  

    myForm.ipAddress.value=sIPAddr;  

    myForm.hostName.value=sDNSName;  

    </script>  

     

    方法二:

    <!DOCTYPE html>

    <html>  

    <head>  

       <title>获取电脑硬件信息</title>    

       <meta name="keywords" content="keyword1,keyword2,keyword3">

        <meta name="description" content="this is my page">

        <meta name="content-type" content="text/html; charset=GBK">

      </head>  

      <body>

       <script id="clientEventHandlersJS" language="javascript" charset="utf-8">

    http://www.w3school.com.cn/htmldom/dom_obj_navigator.asp

    /******************************************以上为浏览器信息,以下为pc信息************************************************/ try {  var locator = new ActiveXObject ("WbemScripting.SWbemLocator");

      var service = locator.ConnectServer(".");

     //获取网络连接信息

     function ipinfo(){  

      var properties = service.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE");  

      var e = new Enumerator (properties);

       var info="<table border=1>";  

      info+="<tr bgcolor='#CDEDED' style='font-weight: bold;' >

    <td width='450'>网络连接信息:</td></tr>";  

      var i=1;   

    for (;!e.atEnd();e.moveNext ()){  

       var p = e.item ();   

      info+="<tr style='color: red'><td >MAC地址"+i+":" + p.MACAddress + "</td></tr>";     info+="<tr style='color: red'><td >IP地址"+i+":" + p.IPAddress(0) + "</td></tr>";     i++;    }

       info+="</table>";    return info;   }

    function pcInfo() {//所有信息     

    var info=ipinfo();    

    /* info+=disk();     info+=raminfo();   

      info+=mainBoard();    

    info+=ipinfo();    

    info+=keyBoardInfo();    

    info+=RomInfo();  

       info+=softDisk(); */       document.getElementById('elInfo').innerHTML=info;   

    return info;   } } catch (e) {  document.write(e); }

     

    /******************************************以上为pc信息************************************************/

    </script>

     </head>

     <body >   <!--  <INPUT id="Button1" type="button" value="浏览器所有信息" name="Button1" language=javascript οnclick="allinfo()">  -->

    <INPUT id="Button1" type="button" value="客户端pc信息" name="Button1" language=javascript οnclick="pcInfo()">

    <div id="elInfo" >

    </div>   </body> </html>

     

    没有克服不了的困难,只有畏惧的心。 生活之所以耀眼,是因为磨难与辉煌会同时出现。所以,别畏惧暂时的困顿,即使无人鼓掌,也要全情投入,优雅坚持。请相信:不管多险峻的高山,总会给勇敢的人留一条攀登的路。只要你肯迈步,路就会在你脚下延伸。

    展开全文
  • 代码如下: <... <head> <title></title> </head>...object classid=”CLSID:76A64158-CB41-11D1-8B02-00600806D9B6″ id=”locator” style=”display:none;...object classid=”CLSID:75718C9A-...
  • 要获取服务器端的MAC很容易,但是要获取客户端MAC地址确要花费一翻心思,通常的做法是调用Win32API或直接调用nbtstat命令,这样做有很多问题,而另一种方法就是直接用客户端脚本,我们这里用Javascript,这样做...
  • 通过web端 获取IP,注意 浏览器安全设置!
  • NULL 博文链接:https://ysj5125094.iteye.com/blog/1562118
  • JS获取客户端MAC地址

    千次阅读 2012-10-04 09:26:23
    JS获取客户端MAC地址 if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true) { ...

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>JS获取客户端MAC地址</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <meta name="generator" content="editplus" />
    <meta name="author" content="" />
    <meta name="keywords" content="" />
    <meta name="description" content="" />
    <style type="text/css">

    </style>
    <script event="OnObjectReady(objObject,objAsyncContext)" for="foo">
    if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true) {
    if(objObject.MACAddress != null && objObject.MACAddress != "undefined" && objObject.DNSServerSearchOrder!=null)
    MACAddr = objObject.MACAddress;
    if(objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != "undefined" && objObject.DNSServerSearchOrder!=null)
    IPAddr = objObject.IPAddress(0);
    if(objObject.DNSHostName != null && objObject.DNSHostName != "undefined")
    sDNSName = objObject.DNSHostName;
    }
    </script>
    <script type="text/javascript">
    var MACAddr ;
    var IPAddr ;
    var DomainAddr;
    var sDNSName;
    function init() {
    var service = locator.ConnectServer();
    service.Security_.ImpersonationLevel=3;
    service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');
    }

    function getMac() {
    document.getElementById('txtMac').value = unescape(MACAddr);
    }
    </script>
    </head>

    <body onload="init()">
    <object id="locator" classid="CLSID:76A64158-CB41-11D1-8B02-00600806D9B6" VIEWASTEXT></object>
    <object id="foo" classid="CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223"></object>

    <input type="text" id="txtMac" />
    <input type="button" id="btn" value="获取Mac地址" onclick="getMac();" />
    </body>
    </html>

    展开全文
  • 这是个HTML文件,可通过IE浏览器打开并获取客户端IP地址和MAC地址(注意:只支持IE浏览器哦。。。)
  • JAVA获取客户端MAC,web获取客户端MAC,Applet获取客户端MAC;JAVAweb开发;服务器端很难获取到客户端的MAC受路由器等....获取的到不正确或者被过滤掉;小弟,无奈写了一个客户端的Applet来获取客户端MAC然后再在传...
  • 这篇文章主要介绍了js获取客户端IP地址MAC和主机名的7个方法汇总,JS本身是不支持获取IP地址等信息的,本文通过其它方法实现,需要的朋友可以参考下 今天在搞JSJavaScript获取客户端IP的小程序,上网搜了下...

    这篇文章主要介绍了js获取客户端IP地址、MAC和主机名的7个方法汇总,JS本身是不支持获取IP地址等信息的,本文通过其它方法实现,需要的朋友可以参考下

    今天在搞JS(JavaScript)获取客户端IP的小程序,上网搜了下,好多在现在的系统和浏览器中的都无效,很无奈,在Chrome、FireFox中很少搞到直接利用ActiveX获取IP等的JS脚本。下面的代码是我在所有windowsNT5.0及以上的系统上都测试通过的,给出代码:

    一、使用JS获取客户端IP的几个方法

    方法一(只针对IE且客户端的IE允许AcitiveX运行,通过平台:XP,SERVER03,2000)。 
    获取客户端IP代码:

    复制代码 代码如下:

     <HTML>
     <HEAD>
     <TITLE>GetLocalIP</TITLE>
     </HEAD>
     <BODY>
     获取IP:
     <script language="JavaScript"> function GetLocalIPAddr(){ var oSetting = null; var ip = null; try{ oSetting = new ActiveXObject("rcbdyctl.Setting"); ip = oSetting.GetIPAddress; if (ip.length == 0){ return "没有连接到Internet"; } oSetting = null; }catch(e){ return ip; } return ip; } document.write(GetLocalIPAddr()+"<br/>") </script> 
    </BODY>
     </HTML>
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    方法二(所有的平台及浏览器): 
    获取客户端处在网络中的IP,前提是客户得联网。使用的是新浪接口。

    复制代码 代码如下:

    <html>
     <head>
     <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
     <title>JavaScript获取客户端IP[利用新浪接口]</title>
     </head>
     <body>
     <script type="text/javascript" src="http://counter.sina.com.cn/ip/" charset="gb2312"></script>       <!--获取接口数据,注意charset -->
     <script type="text/javascript"> 
    document.writeln("IP地址:"+ILData[0]+"<br />");             //输出接口数据中的IP地址 
    document.writeln("地址类型:"+ILData[1]+"<br />");         //输出接口数据中的IP地址的类型 
    document.writeln("地址类型:"+ILData[2]+"<br />");         //输出接口数据中的IP地址的省市
     document.writeln("地址类型:"+ILData[3]+"<br />");         //输出接口数据中的IP地址的
     document.writeln("地址类型:"+ILData[4]+"<br />");         //输出接口数据中的IP地址的运营商
     </script>
     </body>
     </html>
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    方法三(所有的平台及浏览器): 
    使用的搜狐接口

    复制代码 代码如下:

    <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>  
    <script type="text/javascript">  
    document.write(returnCitySN["cip"]+','+returnCitySN["cname"])  
    </script>
     
    • 1
    • 2
    • 3
    • 4
    • 1
    • 2
    • 3
    • 4

    方法四:太平洋电脑网IP查询接口:

    http://whois.pconline.com.cn/?ip=0.0.0.0

    把0.0.0.0换成IP地址,页面上还有其他无关内容,这些内容是告诉我们哪些接口可以调用、接口调用参数和使用方法等

    通过上边的js接口调用就可以判断用于属于哪个城市,直接显示该城市的相关信息了,对于需要城市切换的网站,首次判断用户来源非常有帮助。

    二、使用JS获取计算机名、MAC地址、局域网IP

    方法一(只针对IE且客户端的IE允许AcitiveX运行): 
    调用VBS脚本,获取计算机名(有些人不知道什么是计算机名,简单解释就是它是这台机器的物理名称而不是你在用的那个用户名)和登录的用户名。

    复制代码 代码如下:

     <HTML>
     <HEAD>
     <TITLE>WMI Scripting HTML</TITLE>
     </HEAD>
     <BODY>
     <script language=javascript>
     var WshShell =new ActiveXObject("WScript.Shell");
     document.write("计算机名 = "+ WshShell.ExpandEnvironmentStrings("%COMPUTERNAME%")+"<br/>");
     document.write("登录用户名 = "+ WshShell.ExpandEnvironmentStrings("%USERNAME%")+"<br/>");
     </script>
     </BODY>
     </HTML>
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    方法二(只针对IE且客户端的IE允许AcitiveX运行): 
    获取计算机名、登录的用户名和域名(如果你加入了域,显示你这台机器处在哪个域中)。

    复制代码 代码如下:

    <HTML>
     <HEAD>
     <TITLE>WMI Scripting HTML</TITLE>
     </HEAD>
     <BODY>
     <script language=javascript>
     var wshNetwork = new ActiveXObject("WScript.Network");
     document.write("域名       = "+ wshNetwork.UserDomain+"<br/>");
     document.write("计算机名   = "+ wshNetwork.ComputerName+"<br/>");
     document.write("登录用户名 = "+ wshNetwork.UserName+"<br/>");
     </script>
     </BODY>
     </HTML>
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    方法三(只针对IE且客户端的IE允许AcitiveX运行): 
    能够获取到局域网IP地址,本机的MAC,以及机器名(代码来源网络)。

    复制代码 代码如下:

    <html>
     <head>
     <title></title>
     </head>
     <body>
     <object classid="CLSID:76A64158-CB41-11D1-8B02-00600806D9B6" id="locator" style="display:none;visibility:hidden"></object>
     <object classid="CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223" id="foo" style="display:none;visibility:hidden"></object> 
    <form name="myForm">
     <br/>MAC地址:<input type="text" name="macAddress">
     <br/>IP地址:<input type="text" name="ipAddress">
     <br/>主机名:<input type="text" name="hostName">
     </form>
     </body>
     </html>
     <script language="javascript">
     var sMacAddr="";
     var sIPAddr="";
     var sDNSName="";
     var service = locator.ConnectServer();
     service.Security_.ImpersonationLevel=3;
     service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');
     </script>
     <script FOR="foo" EVENT="OnObjectReady(objObject,objAsyncContext)" LANGUAGE="JScript">
              if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true){
                                if(objObject.IPEnabled && objObject.IPAddress(0) !=null && objObject.IPAddress(0) != "undefined")
                                              sIPAddr = objObject.IPAddress(0);
                                if(objObject.MACAddress != null &&objObject.MACAddress != "undefined")
                          sMacAddr = objObject.MACAddress;
                                if(objObject.DNSHostName != null &&objObject.DNSHostName != "undefined")
                                              sDNSName = objObject.DNSHostName;
               }
     </script>
    
    <script FOR="foo" EVENT="OnCompleted(hResult,pErrorObject, pAsyncContext)" LANGUAGE="JScript">
     myForm.macAddress.value=sMacAddr;
     myForm.ipAddress.value=sIPAddr;
     myForm.hostName.value=sDNSName;
     </script>
    展开全文
  • js获取客户端ip MAC 计算机名

    热门讨论 2011-06-09 21:10:58
    js获取客户端ip js获取客户端ip js获取客户端ip
  • JS获取计算机mac地址以及IP和用户名的实现方法,只适用于IE且activeX开启
  • javascript获取客户端网卡MAC地址和IP地址和计算机名
  • 调用Windows的DOS命令,从输出结果中读取MAC地址: public static String getMACAddress() { String address = ""; String os = System.getProperty("os.name"); if ( os != null && os.startsWi...

    方法一:

    调用Windows的DOS命令,从输出结果中读取MAC地址:

    public static String getMACAddress() {

    String address = "";
    String os = System.getProperty("os.name");
    if ( os != null && os.startsWith("Windows")) { 
    try { 
    String command = "cmd.exe /c ipconfig /all";
    Process p = Runtime.getRuntime().exec(command);
    BufferedReader br =
    new BufferedReader(
    new InputStreamReader(p.getInputStream()));
    String line;
    while ((line = br.readLine()) != null) { 
    if (line.indexOf("Physical Address") > 0) { 
    int index = line.indexOf(":");
    index += 2;
    address = line.substring(index);
    break;
    }
    }
    br.close();
    return address.trim();
    }
    catch (IOException e) { }
    }
    return address;
    }

    We can replace the "ipconfig" to "ping x.x.x.x" and "arp -a"...We can get the mac list...haha!!


    缺点:只能取得服务器端MAC地址.如果要取得客户端的MAC地址,需用Applet.只针对MS-WIN系统.

     

    方法二:

    可以用JS或vbscript来调用WMI接口来获取Client端的MAC地址.

    <html>
     <head>
     <title>WMI Scripting HTML</title>
     <script FOR="foo" EVENT="OnCompleted(hResult,pErrorObject, pAsyncContext)" LANGUAGE="JScript">

                 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 FOR="foo" EVENT="OnObjectReady(objObject,objAsyncContext)" LANGUAGE="JScript">

             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>
     </head>
     <body>
      <object classid="CLSID:76A64158-CB41-11D1-8B02-00600806D9B6" id="locator" VIEWASTEXT>
      </object>
      <object classid="CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223" id="foo">
      </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 method="POST" action="NICPost.asp" id="formfoo" name="formbar">

       <input type=text  name="txtMACAddr">
       <input type=text  name="txtIPAddr">
       <input type=text  name="txtDNSName">

      </form>
     </body>
    </html>

    关于WMI的详细信息可以参看MSDN:
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/wmi_tasks_for_scripts_and_applications.asp

    平心而论,WMI的很强大的。原先需要动用重量级编程工具才能做到的事,现在用js/vbscript就可以做了。


    获取多块网卡的MAC地址:

    if(objObject.MACAddress != null && objObject.MACAddress != "undefined"){ 
                             MACAddr = objObject.MACAddress;
                             alert( MACAddr );
                       }


    缺点:需要ActiveX支持.对MS-WIN系统有效.

    方法三:

    想137口发送UDP查询:

    WINDOWS平台的客户端(当获取时它转换为服务端角色),NETBIOS协议在137口上,我们只要向它的137口发送UDP查询,获取它的返回值就可以获取到它所有的网卡地址

    .Net 技术探讨群 4151320

    欢迎大家加入!!!

    分类:  Javascript, C# Asp.net

    本文转自快乐就好博客园博客,原文链接:http://www.cnblogs.com/happyday56/archive/2009/04/23/1442118.html,如需转载请自行联系原作者
    展开全文
  • JS获取客户端IP地址MAC和主机名的方法汇总
  • JavaScript获取客户端MAC地址

    千次阅读 2006-12-28 10:46:00
    = null && objObject.MACAddress != "undefined")  MACAddr = objObject.MACAddress;  if(objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != "undefined")  IPAddr = obj...
  • 在网上找了许多资料,发现获取MAC地址如果通过JS获取的话只能在IE上使用activeX获取,二通过IP获取的话基本都获取不到,就想知道B/S架构如果在服务器端获取客户端MAC地址
  • 需要在360浏览器webkit内核兼容下获取设备的mac号或者CPU号,有咩有现成的方案或者插件
  • 获取客户端IP和MAC地址

    千次阅读 2018-04-26 10:52:44
    小编是菜鸟,这两天拿到一个需求,登录时判断ip地址... 1、js是一个脚本语言,不能获取本机ip地址; 2、java可以直接获取请求,但是.net是要在iss上部署,如果直接在后端获取获取的是部署机器上的ip地址,只能在...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,274
精华内容 8,109
关键字:

js获取客户端mac地址