ASP.NET获得客户端的MAC
怎么用ASP.net获取用户的网卡的MAC?
有源码最佳!
问题点数:100、回复次数:14Top
1 楼slhuang(★Shawn★)回复于 2005-04-20 13:16:20 得分 10
如果是在CODEBEHIND里写的,获取到的MAC是服务器的。
要获取客户端的可以这样:
1 用JS脚本
2 用DELPHI或VC写个 OCX 嵌入到网页里可以获取客户端的MAC,然后提交。Top
2 楼dbxy(记忆碎片整理成功完成,新数据录入中……)回复于 2005-04-20 13:20:58 得分 0
能提供相关JS脚本的代码吗?
写成OCX这个需要客户下载!Top
3 楼singlepine(小山)回复于 2005-04-20 13:30:20 得分 10
var xmlhttp1=null;
var xmlhttp=null;
var first=1;
var random=0;
function getResult()
{
random=random+1;
var wac='<%=Request["wac"]%>';
xmlhttp1=new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp1.Open("Get", "caseBackGround.aspx?wac="+wac+"&&first="+first+"&&random="+random, false); xmlhttp1.Send();
first=0;
if (xmlhttp1.responseText !='')
{ document.write (xmlhttp1.responseText);
return;
}
}Top
4 楼hchxxzx(NET?摸到一点门槛)回复于 2005-04-20 13:39:45 得分 10
这个我是做过的.得出的结论是:不可行!
因为它只能得到和服务器同一个IP段的客户端网卡MAC地址,不同网段的,得到的只能是网关的地址.所以后来我放弃了.
除非你的客户端全部在同一个网段(比如:10.143.5.xxx)Top
5 楼dbxy(记忆碎片整理成功完成,新数据录入中……)回复于 2005-04-20 13:41:56 得分 0
singlepine(小山) 你这个没有说明!
我试了也没有实现!
Top
6 楼dbxy(记忆碎片整理成功完成,新数据录入中……)回复于 2005-04-20 13:43:40 得分 0
客户端是面向全国的,不可能是同一网段!Top
7 楼dbxy(记忆碎片整理成功完成,新数据录入中……)回复于 2005-04-20 17:43:10 得分 0
明天接帖!
下班走人!Top
8 楼ttyp(@http://www.cnblogs.com/ttyp/)回复于 2005-04-20 17:53:44 得分 45
<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>Top
9 楼brando_beat(Eの懒龙)回复于 2005-04-20 18:55:44 得分 5
好强,留名Top
10 楼minghui000(沉迷网络游戏)回复于 2005-04-20 21:52:46 得分 5
upTop
11 楼kirinboy(麒麟.NET)回复于 2005-04-20 22:15:39 得分 5
upTop
12 楼genesisevarei(白云)回复于 2005-04-20 22:26:10 得分 5
这个利害,UPTop
13 楼hchxxzx(NET?摸到一点门槛)回复于 2005-04-20 22:39:02 得分 5
长见识Top
14 楼qingleo(QING)回复于 2005-06-05 15:27:22 得分 0
ttyp(@http://www.cnblogs.com/ttyp/) 获取的值和通过本地找的MAC值不一致!Top




