熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> ASP編程 >> 正文

在ASP中獲取客戶端MAC地址的方法

2013-11-15 12:50:58  來源: ASP編程 

  本程序屬於一種特別的方法使用范圍比較有限而且有一定的危險性借鑒了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地址
  使用本程序需注意以下事項
   本程序需要WSCRIPTSHELLScriptingFileSystemObject兩個組件請確保您的服務器可以正常使用這兩個組件
   本程序需要調用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
  %>
From:http://tw.wingwit.com/Article/program/ASP/201311/21739.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.