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

相关文章

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)

《使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)》PPT是一种高效的信息展示工具,广泛应用于教育、商务和设计等多个领域,PPT文档中常常包含丰富的图片内容,这些图片不仅提升了... 目录一、引言二、环境与工具三、python 提取PPT背景图片3.1 提取幻灯片背景图片3.2 提取

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh

Python中使用正则表达式精准匹配IP地址的案例

《Python中使用正则表达式精准匹配IP地址的案例》Python的正则表达式(re模块)是完成这个任务的利器,但你知道怎么写才能准确匹配各种合法的IP地址吗,今天我们就来详细探讨这个问题,感兴趣的朋... 目录为什么需要IP正则表达式?IP地址的基本结构基础正则表达式写法精确匹配0-255的数字验证IP地

一文详解SQL Server如何跟踪自动统计信息更新

《一文详解SQLServer如何跟踪自动统计信息更新》SQLServer数据库中,我们都清楚统计信息对于优化器来说非常重要,所以本文就来和大家简单聊一聊SQLServer如何跟踪自动统计信息更新吧... SQL Server数据库中,我们都清楚统计信息对于优化器来说非常重要。一般情况下,我们会开启"自动更新

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

Python解析器安装指南分享(Mac/Windows/Linux)

《Python解析器安装指南分享(Mac/Windows/Linux)》:本文主要介绍Python解析器安装指南(Mac/Windows/Linux),具有很好的参考价值,希望对大家有所帮助,如有... 目NMNkN录1js. 安装包下载1.1 python 下载官网2.核心安装方式3. MACOS 系统安

Python如何获取域名的SSL证书信息和到期时间

《Python如何获取域名的SSL证书信息和到期时间》在当今互联网时代,SSL证书的重要性不言而喻,它不仅为用户提供了安全的连接,还能提高网站的搜索引擎排名,那我们怎么才能通过Python获取域名的S... 目录了解SSL证书的基本概念使用python库来抓取SSL证书信息安装必要的库编写获取SSL证书信息