在vb.net中获取DNS缓存并返回域

时间:2015-05-27 14:03:22

标签: vb.net

在Visual Basic中获取DNS缓存并返回最近解析的域的最佳方法是什么?我只需要域名来比较它们。

Function GetDnsCache()
    Dim DNSCache As New Process
    DNSCache.StartInfo.FileName = "ipconfig"
    DNSCache.StartInfo.Arguments = "/displaydns "
    DNSCache.StartInfo.UseShellExecute = False
    DNSCache.StartInfo.RedirectStandardOutput = True
    DNSCache.
    DNSCache.Start()

    MsgBox(DNSCache.StandardOutput.ReadToEnd())
    DNSCache.WaitForExit()
End Function

这不是最干净的方法,解析和加载也需要很长时间。

1 个答案:

答案 0 :(得分:0)

我会做这样的事情。它执行ipconfig /displaydns并将输出附加到文件。然后,逐行读取文件并在任何地方显示(我使用了列表框)

Dim Shell = CreateObject("Wscript.Shell")
Shell.run("cmd /c ipconfig /displaydns >> C:\ipconfig.txt")

Using reader As New IO.StreamReader("C:\ipconfig.txt")
    While Not reader.EndOfStream
        Dim currentLine As String = reader.ReadLine()
        ListBox1.Items.Add(currentLine)
    End While
End Using

您是否希望将信息显示到MsgBox ...

Dim Shell = CreateObject("Wscript.Shell")
Shell.run("cmd /c ipconfig /displaydns >> C:\ipconfig.txt")
Dim reader as As New IO.StreamReader("C:\ipconfig.txt")
MsgBox(reader.ReadToEnd.ToString, MsgBoxStyle.Information)