在ASP中取得服务器网卡的MAC地址、DNS地址等网络信息

原创 2004年06月10日 16:59:00

    前言,笔者由于前段时间要做一个MIS系统的开发,由于该MIS为一个非免费软件,故在完成该系统开发时相应的注册模块也须开发,由于为B/S结构的系统,所以在注册特征码的选择上我选择了独一无二的网卡MAC地址。闲话少说,下面切入正题。由于该系统属商业软件,故以下代码中仅包含代码思路,及简单的实现代码,具体大家可根据代码自由发挥,也可与我一起切磋。

'--------------------------提取所有网卡的信息------------------------'

'------POWERED BY YESOUL SOFT 不速白客原创,采用请保留此信息 http://www.772.cn -----------'

Public Function GetMacInfo()
    On Error Resume Next

    Dim fso, FileStr, AspSleepThread, CmdStr, SysDir, wshshell, CmdRe, MacFileContentFile, MacFileContent
    Const MacFile = "TmpYesoulSoft001.LLP"
    Set fso = Server.CreateObject("Scripting.FileSystemObject")
   
    SysDir = Split(GlobalMod.GetSysDir, ",")(1)
            If InStr(LCase(SysDir), "system32") = 0 Then
            GetMacInfo = "本系统只能运行在Nt、Windows 2000、Windows.Net、Windows Xp、Windows 2003等32位系统下,不支持32位以下的系统!"
            Exit Function
            Else
            CmdStr = SysDir + "/Cmd.exe /C " + SysDir + "/Ipconfig.exe /All > " + Server.MapPath(MacFile)
            End If
        CmdRe = Shell(CmdStr, vbHide)
        If CmdRe <> 0 Then
        Set MacFileContentFile = fso.OpenTextFile(Server.MapPath(MacFile), 1, False, TristateUseDefault)
        'GetMacInfo = MacFileContentFile.ReadAll()
        'Response.Flush
        FileStr = MacFileContentFile.ReadAll()
        MacFileContentFile.Close
        Set MacFileContentFile = Nothing
        Set AspSleepThread = Server.CreateObject("YesoulSoft.SleepThread")
        '定义线程挂起的时间,这里为毫秒
        AspSleepThread.SleepTime = 500
        AspSleepThread.BeginSleepThread
        GetMacInfo = ExecuteOne(FileStr, "Physical Address. . . . . . . . . : (.*)")
        Set AspSleepThread = Nothing
        Else
        GetMacInfo = "系统当前无法获取您的网络信息,请检查权限继承关系后再运行本系统!"
        Exit Function
        End If
        DelFile MacFile
       
    Set fso = Nothing
   
End Function
'--------------------------在字符串匹配一次结果------------------------'
Public Function ExecuteOne(inpStr, PatStr)
  Dim oRe, oMatch, oMatches
  Set oRe = New RegExp
  oRe.Pattern = PatStr
  inpStr = LCase(inpStr)
  oRe.IgnoreCase = True
  Set oMatches = oRe.Execute(inpStr)
  Set oMatch = oMatches(0)
  ExecuteOne = oMatch.SubMatches(0)
End Function

欢迎大家与我联系,本代码结构简单,需要采用的请自由采用及发挥,如果你有更好的思想,请及时告诉我啊,QQ:115269 EMAIL:Ycsyb@ycsyb.com

代码中GETMACINFO函数仅仅可以获取首个网卡的MAC地址,至于DNS、网关等信息大家可以举一反三啊。

ASP获取网卡物理地址(MAC)

MAC,全称 Media Access Control Mac地址就是在媒体接入层上使用的地址,通俗点说就是网卡的物理地址,现在的Mac地址一般都采用6字节48bit(在早期还有2字节16bit的Ma...
  • itzhiren
  • itzhiren
  • 2007年02月13日 14:46
  • 2691

取得系统中网卡MAC地址的三种方法

第一种方法使用Microsoft的Netbios API。 这是一套通过Winsock提供底层网络支持的命令。使用Netbios的最大缺点是您必须在系统中安装了Netbios服务(如果您在window...
  • laogaoAV
  • laogaoAV
  • 2014年03月15日 14:11
  • 1472

在Windows中取得多个网卡的MAC地址及多个IP地址

在网上看到有网友问如何获取系统中多个网卡的MAC地址,我之前写过一个库,其中一个作用就是读取网卡的MAC地址,当然还可以读取这个网卡的IP地址,即便是绑定了多个地址也可以读出来,不过这个类有点长。哈哈...
  • flexitime
  • flexitime
  • 2009年08月24日 14:45
  • 2249

如何用php得到网卡的MAC地址

今天看到一个这样的东西,MAC地址是唯一的,不会像ip一样天天变,我觉得这个拿来确认用户唯一性比ip要好,当然任何问题都是相对的,他要是想专门改MAC你也没有办法。不过最少,你又多学了一点东西。  ...
  • keqiusha40
  • keqiusha40
  • 2016年11月08日 09:26
  • 1518

(信息搜集)通过DNS和IP地址挖掘目标网络信息:dig和nslookup

dig和nslookup的区别在于:dig工具可以从该域名的官方DNS服务器上查询到精确的权威解答, 而nslookup只会得到DNS解析服务器保存在Cache中的非权威解答。对于一些采用了分布式服...
  • workerandgod
  • workerandgod
  • 2015年05月25日 21:14
  • 752

多网卡存在情况下获取指定网卡的MAC地址

应用软件中经常有需要显示mac地址的功能,方便用户判断当前联网状态,如果是在多网卡存在(无线,有线等)下,网络会经常切换,获取到的MAC地址可能与预期不同,现给出指定网卡获取mac地址的方法。void...
  • u010133805
  • u010133805
  • 2017年05月04日 22:02
  • 393

DELPHI获取网卡MAC地址

1、通过IP取MAC地址 uses WinSock; Function sendarp(ipaddr:ulong; temp:dword; ulmacaddr:pointer; u...
  • zang141588761
  • zang141588761
  • 2016年07月10日 09:48
  • 1917

Linux获取网卡MAC地址命令

cat     /sys/class/net/eth0/address
  • u014778332
  • u014778332
  • 2016年03月13日 17:03
  • 1894

修改IP、DNS、MAC工具VC源码实现

实验室IP和MAC绑定,而且经常来回于各个实验室和宿舍,频繁的地址切换,带来了相当的烦恼。想做这样一个工具是很久以前的想法,可到现在都没有做;没有行动的想法都是空谈,抱着锻炼自己行动力的决心,完成了这...
  • CJF_iceKing
  • CJF_iceKing
  • 2012年06月15日 23:04
  • 10509

请问如何在内核中得到网卡的mac地址?根据网卡名子得到mac地址也可

ww7109(stranger)04-08-23 14:10 请问如何在内核中得到网卡的mac地址?根据网卡名子得到mac地址也可 回复 文章选项:       dl_dht(addict)0...
  • ryman
  • ryman
  • 2005年04月24日 15:48
  • 3101
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在ASP中取得服务器网卡的MAC地址、DNS地址等网络信息
举报原因:
原因补充:

(最多只允许输入30个字)