<% '由于读取某ip的网卡mac地址 '请确保您的服务器可以正常使用这两个组件 '本程序需要调用cmd.exe程序,临时文件保存结果,请确保iis来宾帐号对程序有访问权限, '临时目录有写'权'限。
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
if getmac(remoteaddr)<> "" then
session("mac") = getmac(remoteaddr)
end if
sql="select * from macaddress where mac_address='"&getmac(remoteaddr)&"'"
set rst = server.createobject("adodb.recordset")
rst.open sql,conn,1,3
set rst=nothing
response.write(getmac(remoteaddr))
'本程序调用arp命令通过查询本机arp表读取特定ip的mac地址
'本程序需要“wscript.shell”和“scripting.filesystemobject”两个组件,
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), "inte.net address")
phyc = instr(1, arr(2), "physical address")
typec = instr(1, arr(2), "type")
if typec > phyc and phyc > ipcand ipc > 0 then
getmac=ucase(trim(cstr(mid(arr(3), phyc, typec - phyc))))
end if
end if
end function
%>
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器