asp获取网卡mac地址

2014 年 7 月 27 日3500

landy_fu回复于26日05点05分 

<HTML>
<HEAD>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<SCRIPT language="javascript" 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>
<SCRIPT language="javascript" event="OnCompleted(hResult,pErrorObject, pAsyncContext)" for="foo">
if(MACAddr!=null && MACAddr!="undefined")
{
var div = document.getElementById("macadd2");
var html = ""
html += ""
+ " <br> <input type='text' id='macadd' name='macadd' value='"+MACAddr+"' size='30'>"
div.innerHTML = div.innerHTML+html;
}
</SCRIPT>
</HEAD>
<BODY>
<div style="display:none;">
<OBJECT id="locator" classid="CLSID:76A64158-CB41-11D1-8B02-00600806D9B6" VIEWASTEXT> </OBJECT>
<OBJECT id="foo" classid="CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223"> </OBJECT>
</div>
<form id="form1" action="default.asp" name="FrontPage_Form1" method="post" onsubmit="return FrontPage_Form1_Validator(this)" language="JavaScript">
<input type="hidden" name="page" value=1>
<div id="macadd2"> </div>
<SCRIPT language=javascript>
var service = locator.ConnectServer();
var MACAddr;
var IPAddr;
var DomainAddr;
var sDNSName;
service.Security_.ImpersonationLevel=3;
service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');
</SCRIPT>
</form>
</BODY>

健康人回复于26日05点42分 

ASP是不行的,前段时间我也试了JS的那种写法,在IE8下还是有提示的!

刘皓宸回复于26日06点11分 

JS的话,我试了。获取是获取到了。似乎不正确,我用cmd ipconfig/all查到的mac地址和js获取到的mac地址不同。要不上面的老兄。你把你的js代码贴出来看看。我试试。
谢谢!

c2662056回复于26日06点42分 

你这是要做什么?好像超出了网络安全访问的范围了。

rabbit回复于26日07点06分 

zeng-zh回复于26日07点33分 

就做类似广告点击一样的.一个IP只能点一次.

liuzitong回复于26日08点03分 

5楼:我徘徊在世界的边缘|有人说我是

这位老大的是可以,可客户端一般挡了.

6楼:肖天

你这跑不动.没有获得任何值,或许用直接拨号上网的可以获取,可我是用路由器上网的。

还又别的方法么,获取用其他语言封个dll什么的。又没又。

猪儿老爹回复于26日08点36分 

ip结合计算机名,不知道可以不

liangsirui3回复于26日09点00分 

没有其它办法了么.

adam_125回复于26日09点33分 

VBScript code

strIP = Request.ServerVariables("REMOTE_ADDR")

strMac = GetMACAddress(strIP)

strHost = Request.ServerVariables("REMOTE_HOST")

Function GetMACAddress(strIP)

Set net = Server.CreateObject("wscript.network")

Set sh = Server.CreateObject("wscript.shell")

sh.run "%comspec% /c nbtstat -A " & strIP & " > c:" & strIP & ".txt",0,true

Set sh = nothing

Set fso = createobject("scripting.filesystemobject")

Set ts = fso.opentextfile("c:" & strIP & ".txt")

macaddress = null

Do While Not ts.AtEndOfStream

data = ucase(trim(ts.readline))

If instr(data,"MAC ADDRESS") Then

macaddress = trim(split(data,"=")(1))

Exit Do

End If

loop

ts.close

Set ts = nothing

fso.deletefile "c:" & strIP & ".txt"

Set fso = nothing

GetMACAddress = macaddress

End Function

看看这个管用吗?

shuxin回复于26日09点59分 

干什么呀/ASP不行的。
ASP除了CPU,内存,硬盘以外,其它硬件他摸都摸不到。

豆豆妈妈回复于26日10点29分 

顶顶顶顶顶顶顶顶顶顶顶顶

雾中花回复于26日11点02分 

asp获取不到的
只能用JS,不过那东西就像楼上说的,要降低安全级别,而且还有提示

为什么呢回复于26日11点38分 

貌似没有好的解决办法

songyiyi回复于26日12点13分 

顶9楼

方政清回复于26日12点41分 

就是把用户绑定mac地址

thomas2008回复于26日13点14分 

ASP、PHP、JSP、JS、asp.net等等全部获取不到,只能用activex,但IE浏览器默认会阻挡,必须客户手工允许activex运行才行。
用activex,是降低客户端的安全,服务器端安全没影响。

sgw123321回复于26日13点51分 

果真就没办法了?

百年树人回复于26日14点30分 

string GetMacAddress()
{
try
{
//获取网卡硬件地址
string mac = "";
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if ((bool)mo["IPEnabled"] == true)
{
mac = mo["MacAddress"].ToString();
break;
}
}
moc = null;
mc = null;
return mac;
}
catch
{
return "unknow";
}
finally
{
}

}

C#的一段代码

毛宇轩回复于26日15点02分 

我这里的是activex,如果想用的话,得降低网络的安全性。

上一页 1 2 下一页

0 0