上一篇:18位身份证校验计算函数 >>
ASP获取客户端MAC地址
| <% 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 %> 下一篇:驯服不听话的网页表格 >> 相关文章:
© 2006 www.java-asp.net
|
