VBA收集整理IP地址和MAC地址信息

2023-10-14 15:52

本文主要是介绍VBA收集整理IP地址和MAC地址信息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  IP地址和MAC地址对于网络管理的重要性,作为网管员最清楚。

  需要处理资产信息时,有的资产编码无法对应到具体的计算机或者网络设备,这时就需要MAC地址来确定和比较。

  做网络跟踪时,一般都需要涉及到具体的使用人,在确定具体的设备时绝大多数情况下都是根据MAC地址来一一对应。

  网络和桌面的安全事件处理也涉及到具体设备,这肯定也是与MAC地址来对应,比如查找具体单位的计算机以及哪些计算机修改了IP地址等。

  所以收集和整理相对完备的IP地址、MAC地址、使用人、使用单位、计算机硬软件信息表就是网管员一项不可或缺的工作。

  还有网络设备的管理就是基于MAC地址的。

  很多人觉得简单,实际着手去实现却是很多人没有去做的。

  具体实施过程:

  ①准备完整的MAC地址表;
   可以从网管汇聚设备去提取,然后通过程序来提取。考虑到有的计算机没有开机,需要多个时间去提取。

  ②准备完整的单位设备信息表;
   可以从安装的一些软件中提取,或者让用户提交。
   用户一般比较懒惰,不愿意提交,可以先准备相对准确或者多一些的信息,让用户确认就好一些。

  ③一一对应形成完整的信息表。
   根据MAC地址一一比较,进行信息填充或者修改。

  下面的代码完成IP地址和MAC地址的对应表。

  声明:

Option Explicit
Public MyNetworkInfo As NetworkInfo
Dim MaxRows As IntegerPublic ws As WorksheetType NetworkInfoIPAddr As StringMacAddr As String
End Type

  通用函数:

Function GetNetworkInfo(ByVal Str As String) As NetworkInfoDim TempNetworkInfo As NetworkInfoTempNetworkInfo.IPAddr = ""TempNetworkInfo.MacAddr = ""Dim regex As ObjectDim matches As ObjectSet regex = CreateObject("VBScript.RegExp")regex.Pattern = "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}"    'IP地址Set matches = regex.Execute(Str)If matches.Count > 0 ThenTempNetworkInfo.IPAddr = matches(0)End Ifregex.Pattern = "\w{4}-\w{4}-\w{4}"    'MAC地址Set matches = regex.Execute(Str)If matches.Count > 0 ThenTempNetworkInfo.MacAddr = matches(0)End IfGetNetworkInfo = TempNetworkInfo
End FunctionFunction SearchMac(ByVal StrMac As String) As String'检查Mac地址是否已经存在表中Dim cell As RangeSearchMac = ""Set cell = ws.Range("C2:C2023").Find(What:=StrMac, LookIn:=xlValues, LookAt:=xlWhole)If Not cell Is Nothing Then'返回对应的IPws.Range("B" + Trim(Str(cell.Row))).SelectSearchMac = Selection.FormulaEnd If
End Function

  主程序:

Sub Get_IPAndMAC()'读取文件,逐行读取Dim TempNetworkInfo As NetworkInfoDim ICount As IntegerDim StrContent As StringDim StrFile As StringDim BeExist As BooleanDim NewIPAddr As StringDim IRecordAdd As IntegerSet ws = Worksheets("IP_MAC")MaxRows = ws.Cells(ws.Rows.Count, "C").End(xlUp).RowStrFile = "从汇聚交换机读取的数据记录文件"Open StrFile For Input As #1 'Do While Not EOF(1)Line Input #1, StrContentTempNetworkInfo = GetNetworkInfo(StrContent)If TempNetworkInfo.IPAddr <> "" And TempNetworkInfo.MacAddr <> "" Then'判断这个Mac地址是否被记录NewIPAddr = SearchMac(TempNetworkInfo.MacAddr)If NewIPAddr = "" Then'添加一条新记录MaxRows = MaxRows + 1ws.Range("B" & Trim(Str(MaxRows))).SelectSelection.FormulaR1C1 = TempNetworkInfo.IPAddrws.Range("C" & Trim(Str(MaxRows))).SelectSelection.FormulaR1C1 = TempNetworkInfo.MacAddrElse'标记IP地址改变ws.Range("H" & Trim(Str(MaxRows))).SelectSelection.FormulaR1C1 = TempNetworkInfo.IPAddrEnd IfDebug.Print TempNetworkInfo.IPAddr + "||||" + TempNetworkInfo.MacAddrEnd IfLoopClose #1MsgBox "完成!"
End Sub

  在信息收集完成后,可以通过写一个应用程序来完成后面的管理工作。

这篇关于VBA收集整理IP地址和MAC地址信息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/211540

相关文章

如何在Mac上彻底删除Edge账户? 手动卸载Edge浏览器并清理残留文件技巧

《如何在Mac上彻底删除Edge账户?手动卸载Edge浏览器并清理残留文件技巧》Mac上的Edge账户里存了不少网站密码和个人信息,结果同事一不小心打开了,简直尴尬到爆炸,想要卸载edge浏览器并清... 如果你遇到 Microsoft Edge 浏览器运行迟缓、频繁崩溃或网页加载异常等问题,可以尝试多种方

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源

Mac系统下卸载JAVA和JDK的步骤

《Mac系统下卸载JAVA和JDK的步骤》JDK是Java语言的软件开发工具包,它提供了开发和运行Java应用程序所需的工具、库和资源,:本文主要介绍Mac系统下卸载JAVA和JDK的相关资料,需... 目录1. 卸载系统自带的 Java 版本检查当前 Java 版本通过命令卸载系统 Java2. 卸载自定

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹

Linux查看系统盘和SSD盘的容量、型号及挂载信息的方法

《Linux查看系统盘和SSD盘的容量、型号及挂载信息的方法》在Linux系统中,管理磁盘设备和分区是日常运维工作的重要部分,而lsblk命令是一个强大的工具,它用于列出系统中的块设备(blockde... 目录1. 查看所有磁盘的物理信息方法 1:使用 lsblk(推荐)方法 2:使用 fdisk -l(

Mac备忘录怎么导出/备份和云同步? Mac备忘录使用技巧

《Mac备忘录怎么导出/备份和云同步?Mac备忘录使用技巧》备忘录作为iOS里简单而又不可或缺的一个系统应用,上手容易,可以满足我们日常生活中各种记录的需求,今天我们就来看看Mac备忘录的导出、... 「备忘录」是 MAC 上的一款常用应用,它可以帮助我们捕捉灵感、记录待办事项或保存重要信息。为了便于在不同

电脑蓝牙连不上怎么办? 5 招教你轻松修复Mac蓝牙连接问题的技巧

《电脑蓝牙连不上怎么办?5招教你轻松修复Mac蓝牙连接问题的技巧》蓝牙连接问题是一些Mac用户经常遇到的常见问题之一,在本文章中,我们将提供一些有用的提示和技巧,帮助您解决可能出现的蓝牙连接问... 蓝牙作为一种流行的无线技术,已经成为我们连接各种设备的重要工具。在 MAC 上,你可以根据自己的需求,轻松地

如何关闭Mac的Safari通知? 3招教你关闭Safari浏览器网站通知的技巧

《如何关闭Mac的Safari通知?3招教你关闭Safari浏览器网站通知的技巧》当我们在使用Mac电脑专注做一件事情的时候,总是会被一些消息推送通知所打扰,这时候,我们就希望关闭这些烦人的Mac通... Safari 浏览器的「通知」功能本意是为了方便用户及时获取最新资讯,但很容易被一些网站滥用,导致我们

SpringBoot如何对密码等敏感信息进行脱敏处理

《SpringBoot如何对密码等敏感信息进行脱敏处理》这篇文章主要为大家详细介绍了SpringBoot对密码等敏感信息进行脱敏处理的几个常用方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录​1. 配置文件敏感信息脱敏​​2. 日志脱敏​​3. API响应脱敏​​4. 其他注意事项​​总结