Bei diesem Verfahren handelt es sich um eine Sondermethode. Der Anwendungsbereich ist relativ begrenzt und es besteht ein gewisses Maß an Gefahr. Ich habe einige Methoden aus der ASP-Hintertür gelernt. Unten finden Sie den Programmcode.
<%
dim remoteaddr
wenn Request.ServerVariables("HTTP_X_FORWARDED_FOR")=empty dann
remoteaddr=Request.ServerVariables("REMOTE_ADDR")
anders
remoteaddr=Request.ServerVariables("HTTP_X_FORWARDED_FOR")
end if
Response.Write(GetMac(remoteaddr))
„Aufgrund des Auslesens der MAC-Adresse der Netzwerkkarte einer bestimmten IP.“
„Dieses Programm liest die MAC-Adresse einer bestimmten IP, indem es den Befehl arp aufruft und die lokale arp-Tabelle abfragt.“
'Bitte beachten Sie Folgendes bei der Verwendung dieses Programms:
' Dieses Programm erfordert zwei Komponenten: „WSCRIPT.SHELL“ und „Scripting.FileSystemObject“. Bitte stellen Sie sicher, dass Ihr Server diese beiden Komponenten normal verwenden kann.
' Dieses Programm muss das Programm cmd.exe aufrufen. Stellen Sie sicher, dass das IIS-Gastkonto über Zugriffsrechte auf das Programm verfügt.
' Dieses Programm benötigt temporäre Dateien, um Ergebnisse zu speichern. Stellen Sie sicher, dass das IIS-Gastkonto über Schreibberechtigungen für das temporäre Verzeichnis verfügt.
'
Funktion GetMac(IP)
Bei Fehler Weiter fortsetzen
oScript dimmen
oFileSys, oFile dimmen
Alle dimmen, szTempFile,ipc,phyc,typec
TempPath dimmen
Setze oScript = Server.CreateObject("WSCRIPT.SHELL")
Setze oFileSys = Server.CreateObject("Scripting.FileSystemObject")
TempPath="d:temp" 'Temporäres Verzeichnis
szTempFile = TempPath & oFileSys.GetTempName() ' Den temporären Dateinamen abrufen
Rufen Sie oScript.Run auf ("cmd.exe /c ping -n 2 " & IP, 0, True) ' Stellen Sie sicher, dass diese IP in der ARP-Tabelle enthalten ist
Rufen Sie oScript.Run auf ("cmd.exe /c arp -a " & IP & " > " & szTempFile, 0, True)
Setze oFile = oFileSys.OpenTextFile (szTempFile, 1, False, 0)
All=oFile.ReadAll()
oDatei.Schließen
If (IsObject(oFile)) Then
Rufen Sie oFileSys.DeleteFile(szTempFile, True) auf.
Ende wenn
arr = Split(Alle, vbCrLf)
Wenn UBound(arr) = 4, dann
ipc = InStr(1, arr(2), "Internetadresse")
phyc = InStr(1, arr(2), "Physical Address")
typec = InStr(1, arr(2), "Type")
Wenn typec > phyc Und phyc > ipc Und ipc > 0 Dann
GetMac=Ucase(Trim(CStr(Mid(arr(3), phyc, typec - phyc))))
Ende wenn
Ende wenn
Funktion beenden
%>