首页 > 解决方案 > VB.NET MAC OUI 查找

问题描述

早上好,

我创建了一个 vb.NET 项目,它从位于https://code.wireshark.org/review/gitweb?p=wireshark.git;a=blob_plain;f=manuf;hb=HEAD的 WireShark 的 HTML 文件中提取数据。

到目前为止,我已经能够将页面下载为字符串并搜索字符串以确认是否在字符串中找到“mac”。

我想让它搜索 MAC 地址,并输出 MAC 出现的整行。

例如,如果我搜索 00-00-00-00-00-00 我希望能够提取整行“00:00:00 Xerox Xerox Corporation”

这就是我所拥有的:

Private Sub btn_search_Click(sender As Object, e As EventArgs) Handles btn_search.Click
    Dim mac As String = txt_MAC.Text.ToUpper
    Dim pattern As Regex = New Regex("^([0-9A-F]{2}[:-]){5}([0-9A-F]{2})$")
    Dim match As Match = pattern.Match(mac)

    If match.Success Then
        mac = mac.Replace("-", ":")
        mac = mac.Substring(0, mac.Length - 9)

        Dim wc As New Net.WebClient
        Dim html As String = wc.DownloadString("https://code.wireshark.org/review/gitweb?p=wireshark.git;a=blob_plain;f=manuf;hb=HEAD")
        Dim macIndex = html.IndexOf(mac) 'returns line number in string

        MsgBox("Valid MAC: " & mac)

        If html.Contains(mac) Then
            'Display MAC + Vendor. IE.... 0:00:01   Xerox   Xerox Corporation'
            ' Is there a way to read only the specified line number in the string?
        End If

    Else
        MsgBox("You must enter a valid MAC")
    End If
End Sub

非常感谢任何帮助。

标签: regexvb.netextractmac-address

解决方案


您可以从上一个链接中获取作为 XML 文件的Mac 地址查找列表,而不是解析 HTML 文件。

然后,您可以使用类似于此问题“Searching through XML in VB.NET”中的片段来查找 XML


推荐阅读