| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 906 人关注过本帖
标题:求助关于获取客户端mac地址!
只看楼主 加入收藏
C心情
Rank: 2
等 级:论坛游民
帖 子:90
专家分:74
注 册:2008-1-19
结帖率:60%
收藏
已结贴  问题点数:16 回复次数:4 
求助关于获取客户端mac地址!
Request.UserHostAddress.ToString().Trim();
可以获取客户端IP地址,但是这个地址是会改变的!
怎么才能实现获取客户端的MAC地址,
要做到不管客户端是通过路由还是通过拨号上网都能取得!
谢谢!
搜索更多相关主题的帖子: mac 客户端 地址 获取 
2010-04-23 11:25
czyzhuo
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:17
帖 子:230
专家分:1459
注 册:2010-3-11
收藏
得分:8 
可以用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.
平心而论,WMI的很强大的。原先需要动用重量级编程工具才能做到的事,现在用js/vbscript就可以做了。

获取多块网卡的MAC地址:
if(objObject.MACAddress != null && objObject.MACAddress != "undefined"){
                         MACAddr = objObject.MACAddress;
                         alert( MACAddr );
                   }

缺点:需要ActiveX支持.对MS-WIN系统有效.
2010-04-23 14:47
misswang
Rank: 8Rank: 8
来 自:湖北荆州
等 级:贵宾
威 望:15
帖 子:265
专家分:720
注 册:2010-3-11
收藏
得分:8 
先获取IP地址,再根据IP获取到物理地址MAC
这个你可以参考一下
getMAC.rar (3.91 KB)

misswp2010@
wangping103@
2010-04-24 21:59
faxisi1987
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2009-9-20
收藏
得分:0 
请问版主,我怎么总是获取不到对象啊!?可能是什么原因呢?
2010-12-21 15:27
faxisi1987
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2009-9-20
收藏
得分:0 
现在我获取到了,可是与ipconfig /all查出来的不一样啊
2010-12-21 15:54
快速回复:求助关于获取客户端mac地址!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022005 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved