本程序属于一种特别的方法。使用范围比较有限,而且有一定的危险性。借鉴了asp后门里的一些方法。下面是程序代码。
<%
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
%>