本程序属于一种特别的方法使用范围比较有限而且有一定的危险性借鑒了asp后门里的一些方法下面是程序代码
<%
dim remoteaddr
if RequestServerVariables(HTTP_X_FORWARDED_FOR)=empty then
remoteaddr=RequestServerVariables(REMOTE_ADDR)
else
remoteaddr=RequestServerVariables(HTTP_X_FORWARDED_FOR)
end if
ResponseWrite(GetMac(remoteaddr))
由于读取某IP的网卡MAC地址
本程序通过调用arp命令通过查询本机arp表读取特定IP的MAC地址
使用本程序需注意以下事项
本程序需要WSCRIPTSHELL和ScriptingFileSystemObject两个组件请确保您的服务器可以正常使用这两个组件
本程序需要调用cmdexe程序请确保IIS来宾帐号对程序有访问权限
本程序需要临时文件保存结果请确保IIS来宾帐号对临时目录有写权限
function GetMac(IP)
On Error Resume Next
Dim oScript
Dim oFileSys oFile
Dim All szTempFileipcphyctypec
Dim TempPath
Set oScript = ServerCreateObject(WSCRIPTSHELL)
Set oFileSys = ServerCreateObject(ScriptingFileSystemObject)
TempPath=d:\temp\ 临时目录
szTempFile = TempPath & oFileSysGetTempName() 获取临时文件名
Call oScriptRun (cmdexe /c ping n & IP True) 保证arp表中有此IP
Call oScriptRun (cmdexe /c arp a & IP & > & szTempFile True)
Set oFile = oFileSysOpenTextFile (szTempFile False )
All=oFileReadAll()
oFileClose
If (IsObject(oFile)) Then
Call oFileSysDeleteFile(szTempFile True)
End If
arr = Split(All vbCrLf)
If UBound(arr) = Then
ipc = InStr( arr() Internet Address)
phyc = InStr( arr() Physical Address)
typec = InStr( arr() Type)
If typec > phyc And phyc > ipc And ipc > Then
GetMac=Ucase(Trim(CStr(Mid(arr() phyc typec phyc))))
End If
End If
End function
%>