С простыми записями типа A и PTR все понятно, тут System.NET. Однако, если надо получить из DNS что-то более нестандартное, типа MX или, как в моем случае, SRV, то задача чуть менее тривиальная:
1. Берем прекрасную библиотеку отсюда http://dndns.codeplex.com/
2. Используя документацию с этого же сайта, пишем код. В моем случае он такой:
Imports DnDns.Enums
Imports DnDns.Query
Imports DnDns.Records
Imports System.Net
Module Module1
Sub Main()
'Dim dnsServer As String = GetDnsAddress()
Dim request As New DnsQueryRequest()
Dim response As DnsQueryResponse = request.Resolve("_ldap._tcp.syd-cenet.ceo.syd.catholic.edu.au", NsType.SRV, NsClass.INET, Sockets.ProtocolType.Tcp)
'Console.WriteLine("Bytes received: " + response.BytesReceived)
' Enumerate the Answer Records
Console.WriteLine("Answers:")
For Each record As IDnsRecord In response.Answers
If TypeOf record Is SrvRecord Then
Dim srvRec As SrvRecord = DirectCast(record, SrvRecord)
Console.WriteLine(srvRec.HostName)
Console.WriteLine(srvRec.Port)
End If
Next
End Sub
End Module
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий