ASP获取客户端MAC地址

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

时间: 2024-11-05 12:13:15

ASP获取客户端MAC地址的相关文章

ASP获取客户端MAC地址(源代码)

客户端|源代码 本程序属于一种特别的方法.使用范围比较有限,而且有一定的危险性.借鉴了asp后门里的一些方法.下面是程序代码. <% dim remoteaddr if Request.ServerVariables("HTTP_X_FORWARDED_FOR")=empty then remoteaddr=Request.ServerVariables("REMOTE_ADDR") else remoteaddr=Request.ServerVariable

mac-asp.net 2.0 C#获取客户端MAC地址。

问题描述 asp.net 2.0 C#获取客户端MAC地址. public partial class 测试 : System.Web.UI.Page { [DllImport("Iphlpapi.dll")] private static extern int SendARP(Int32 dest, Int32 host, ref Int64 mac, ref Int32 length); [DllImport("Ws2_32.dll")] private sta

c++-路由器获取客户端MAC地址原理是什么?如何用winsock模拟之?

问题描述 路由器获取客户端MAC地址原理是什么?如何用winsock模拟之? 前辈们好,我想通过winsock来获取client的MAC地址,查询了半天也没有结果,因此,想通过路由器获取MAC的方法来获取一点灵感. 1.路由器是如何获取客户的MAC地址的? 2.C++的winsock可以如何获取客户机MAC地址? 注意,是客户机,不是本机... 谢谢 解决方案 用sendarp API来获取其他机器mac地址.mac地址维护是交换机的功能.但是一般路由器把两种设备合并了.所以路由器存有IP到ma

在ASP中获取客户端MAC地址的方法

客户端 本程序属于一种特别的方法.使用范围比较有限,而且有一定的危险性.借鉴了asp后门里的一些方法.下面是程序代码. <%dim remoteaddrif Request.ServerVariables("HTTP_X_FORWARDED_FOR")=empty thenremoteaddr=Request.ServerVariables("REMOTE_ADDR")elseremoteaddr=Request.ServerVariables("H

小技巧:在Asp中获取客户端MAC地址的方法

技巧|客户端 本程序属于一种特别的方法.使用范围比较有限,而且有一定的危险性.借鉴了asp后门里的一些方法.下面是程序代码. <%     dim remoteaddr if Request.ServerVariables("HTTP_X_FORWARDED_FOR")=empty then remoteaddr=Request.ServerVariables("REMOTE_ADDR") else remoteaddr=Request.ServerVaria

如何获取客户端MAC地址(三个方法)

方法一: 调用Windows的DOS命令,从输出结果中读取MAC地址: public static String getMACAddress() { String address = "";String os = System.getProperty("os.name");if ( os != null && os.startsWith("Windows")) { try { String command = "cmd.

php/js获取客户端mac地址的实现代码

这篇文章主要介绍了如何在php与js中分别获取客户度mac地址的方法,需要的朋友可以参考下   废话不多讲,直接上代码吧! 复制代码 代码如下: <?php   class MacAddr {       public $returnArray = array();        public $macAddr;       function __contruct($os_type=null){         if(is_null($os_type)) $os_type = PHP_OS;  

php 获取客户端mac地址程序代码

例1 PHP代码:  代码如下 复制代码 <?php   @exec("arp -a",$array); //执行arp -a命令,结果放到数组$array中   echo "<pre>";   print_r($array); //打印获取的数组     foreach($array as $value)   {       if( //匹配结果放到数组$mac_array       strpos($value,$_SERVER["R

用ASP获取客户端IP地址的方法

要想透过代理服务器取得客户端的真实IP地址,就要使用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取.不过要注意的事,并不是每个代理服务器都能用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取客户端的真实 IP,有些用此方法读取到的仍然是代理服务器的IP.还有一点需要注意的是:如果客户端没有通过代理服务器来访问,那么用 Request.ServerVari