新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     >>计算机科学论坛<<     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论.NET,C#,ASP,VB技术
    [返回] 计算机科学论坛计算机技术与应用『 Dot NET,C#,ASP,VB 』 → [转帖]asp 读取网卡mac地址 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 11418 个阅读者浏览上一篇主题  刷新本主题   平板显示贴子 浏览下一篇主题
     * 贴子主题: [转帖]asp 读取网卡mac地址 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     Qr 帅哥哟,离线,有人找我吗?
      
      
      威望:9
      等级:博士二年级(版主)
      文章:4392
      积分:29981
      门派:XML.ORG.CN
      注册:2004/5/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Qr发送一个短消息 把Qr加入好友 查看Qr的个人资料 搜索Qr在『 Dot NET,C#,ASP,VB 』的所有贴子 访问Qr的主页 引用回复这个贴子 回复这个贴子 查看Qr的博客楼主
    发贴心情 [转帖]asp 读取网卡mac地址

    转注:来源不详。另,此法2003年底经偶试用,经常引起服务器出现屏闪,须重启才行。

    <%
    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))

    '由于读取某IP的网卡MAC地址


    '本程序调用arp命令通过查询本机arp表读取特定IP的MAC地址


    '本程序需要“WSCRIPT.SHELL”和“Scripting.FileSystemObject”两个组件,

    '请确保您的服务器可以正常使用这两个组件

    '本程序需要调用Cmd.exe程序,临时文件保存结果,请确保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 > IpcAnd ipc > 0 Then
    GetMac=Ucase(Trim(CStr(Mid(arr(3), phyc, typec - phyc))))
    End If
    End If
    End function
    %>


       收藏   分享  
    顶(0)
      




    ----------------------------------------------
    没人帮忙,那就靠自己,自己才是最好的老师!本人拒绝回答通过站内短消息提出的问题!

    blog:http://Qr.blogger.org.cn

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/7 10:51:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 Dot NET,C#,ASP,VB 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/6 14:13:06

    本主题贴数6,分页: [1]

     *树形目录 (最近20个回帖) 顶端 
    主题:  [转帖]asp 读取网卡mac地址(1929字) - Qr,2005年3月7日
        回复:  这种方法不科学(14字) - z_shunquan,2005年5月28日
        回复:  你改进了吗,这个程序还会要重启吗(31字) - jackwu316,2005年5月14日
        回复:  谢谢了!(8字) - inzaghiguo,2005年4月20日
        回复:  谢谢(4字) - xmzhy,2005年4月6日
        回复:  asp太乱。。。还是php好些。(26字) - leave17,2005年3月31日

    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    796.875ms