怎样用ASP获取客户端的MAC地址

用asp获取客户端的mac地址,会的把原代码共享一下,谢谢!!!... 用asp获取客户端的mac地址,会的把原代码共享一下,谢谢!!! 展开
 我来答
若水大大
推荐于2016-03-11 · TA获得超过486个赞
知道小有建树答主
回答量:513
采纳率:0%
帮助的人:212万
展开全部
<%
dim remoteaddr
if Request.ServerVariables("HTTP_X_FORWARDED_FOR")=empty then
remoteaddr=Request.ServerVariables("REMOTE_ADDR")
else
remoteaddr=Request.ServerVariables("HTTP_X_FORWARDED_FOR")
end if
Response.Write(GetMac(remoteaddr))
'由于读取某IP的网卡MAC地址
'本程序通过调用arp命令通过查询本机arp表读取特定IP的MAC地址
'使用本程序需注意以下事项:
'本程序需要“WSCRIPT.SHELL”和“Scripting.FileSystemObject”两个组件,请确保您的服务器可以正常使用这两个组件
' 本程序需要调用cmd.exe程序,请确保IIS来宾帐号对程序有访问权限。
' 本程序需要临时文件保存结果,请确保IIS来宾帐号对临时目录有写权限。
function GetMac(IP)
On Error Resume Next
Dim oScript
Dim oFileSys, oFile
Dim All, szTempFile,ipc,phyc,typec
Dim TempPath
Set oScript = Server.CreateObject("WSCRIPT.SHELL")
Set oFileSys = Server.CreateObject("Scripting.FileSystemObject")
TempPath="d:/temp/" '临时目录
szTempFile = TempPath & oFileSys.GetTempName() ' 获取临时文件名
Call oScript.Run ("cmd.exe /c ping -n 2 " & IP, 0, True) '保证arp表中有此IP
Call oScript.Run ("cmd.exe /c arp -a " & IP & " > " & szTempFile, 0, True)
Set oFile = oFileSys.OpenTextFile (szTempFile, 1, False, 0)
All=oFile.ReadAll()
oFile.Close
If (IsObject(oFile)) Then
Call oFileSys.DeleteFile(szTempFile, True)
End If
arr = Split(All, vbCrLf)
If UBound(arr) = 4 Then
ipc = InStr(1, arr(2), "Internet Address")
phyc = InStr(1, arr(2), "Physical Address")
typec = InStr(1, arr(2), "Type")
If typec > phyc And phyc > ipc And ipc > 0 Then
GetMac=Ucase(Trim(CStr(Mid(arr(3), phyc, typec - phyc))))
End If
End If
End function
%>
paykka
2025-08-05 广告
由于 Paykka 的所有操作流程都是线上化的,所以推测其支持移动端操作,比如通过 APP 或者适配移动端的网页端。这方便用户随时随地管理自己的账户和资金,提升了使用的便捷性。具体情况可咨询官方确认。... 点击进入详情页
本回答由paykka提供
匿名用户
2013-07-31
展开全部
  <%
  dim remoteaddr
  if Request.ServerVariables(HTTP_X_FORWARDED_FOR)=empty then
  remoteaddr=Request.ServerVariables(REMOTE_ADDR)
  else
  remoteaddr=Request.ServerVariables(HTTP_X_FORWARDED_FOR)
  end if  
  Response.Write(GetMac(remoteaddr))
%>  <%
  function GetMac(IP)
  On Error Resume Next
  Dim oScript
  Dim oFileSys, oFile
  Dim All, szTempFile,ipc,phyc,typec
  Dim TempPath
  Set oScript = Server.CreateObject(WSCRIPT.SHELL)
  Set oFileSys = Server.CreateObject(Scripting.FileSystemObject)
  TempPath=d:temp 临时目录
  szTempFile = TempPath & oFileSys.GetTempName() 获取临时文件名
  Call oScript.Run (cmd.exe /c ping -n 2 & IP, 0, True) 保证arp表中有此IP
  Call oScript.Run (cmd.exe /c arp -a & IP & > & szTempFile, 0, True)
  Set oFile = oFileSys.OpenTextFile (szTempFile, 1, False, 0)
  All=oFile.ReadAll()
  oFile.Close
  If (IsObject(oFile)) Then
   Call oFileSys.DeleteFile(szTempFile, True)
  End If
  arr = Split(All, vbCrLf)
  If UBound(arr) = 4 Then
  ipc = InStr(1, arr(2), Internet Address)
  phyc = InStr(1, arr(2), Physical Address)
  typec = InStr(1, arr(2), Type)
  If typec > phyc And phyc > ipc And ipc > 0 Then
  GetMac=Ucase(Trim(CStr(Mid(arr(3), phyc, typec - phyc))))
  End If
  End If
  End function
  %>
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-31
展开全部
<%
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
%>
<HTML>
<HEAD>
<TITLE>Say Hello To the MAC MAN </TITLE>
</HEAD>
<BODY>
<%Response.Write("Your IP is:" & strIP & " " & vbcrlf)%>
<%Response.Write("Your MAC is:" & strMac & vbcrlf)%>
</BODY>
</HTML>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-31
展开全部
我见得多的方法还是使用客户端插件。在政府,企业等跨地域型网络的内部业务沟通网站上使用客户端插件来获取mac地址以提高信息安全度。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式