获取DNS TXT记录

本文关键字:记录 TXT DNS 获取 | 更新日期: 2023-09-27 18:00:24

我想在C#中查找TXT记录,特别是我想从Unity3d中查找(我认为基本上是mono 2.1,而不是成熟的.NET)。

我该怎么做?

获取DNS TXT记录

除了实际的DNS解析之外,即使在完整的.Net框架中也没有内置任何东西来获取TXT或任何其他DNS记录。

DNS类是唯一一个处理DNS的类,它只提供IP到名称和反向的映射。

您需要直接查找库或构造请求。考虑从CodeProject上的DNS Resolver文章中查看现有示例作为起点。

https://github.com/MichaCo/DnsClient.NET使用这个nuget包。

附言:我不是附属公司,但我们确实在我们的项目

中使用了它

基于DnsDig项目,我创建了一个DLL,可以在任何.net(vb、c#、窗体、web等)项目上使用

https://devselz.com/software/devselz_dnsdig_dns-txt-etc-query-domain-register.zip

下载,解压缩,并添加作为您项目的参考(如果网站位于root/bin文件夹:

DnsDig.dll

nunit.framework.dll

(共126KB)

然后使用此示例作为ASP.Ne网站(vb.net代码)

Imports DnsDig
Imports Heijden.DNS
Partial Class lib_u_l_Default
    Inherits System.Web.UI.Page
    Public Resolver As Resolver
    Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
        Resolver = New Resolver
        Dim SW As New System.Diagnostics.Stopwatch
        SW.Start()
        Dim DNSResponse As Heijden.DNS.Response = Resolver.Query(Request.QueryString("d"), QType.TXT, QClass.ANY)
        SW.Stop()
        If DNSResponse.header.ANCOUNT > 0 Then
            For Each answerRR As AnswerRR In DNSResponse.Answers
                Response.Write("<br/>" & answerRR.ToString)
            Next
        End If
    End Sub
End Class