DNS-Auflösung mit C# 👍 👎

Das Domain Name System ist einer der wichtigsten Dienste in vielen IP-basierten Netzwerken, so insbesondere auch im Internet. Die Hauptaufgabe stellt dabei das Übersetzen von für die menschliche Nutzung praktischen Domains in technisch verarbeitbare IP-Adressen dar. Mit diesem Beitrag möchte ich jedoch gar nicht weiter auf diese Details eingehen, dazu lohnt sich stattdessen beispielsweise ein (empfehlenswerter) Blick in die Wikipedia.

Unser Hauptanliegen soll es nun sein, dieses System per C# zu befragen, um darauf aufbauend in einem späteren Beitrag eine konkrete Anwendung umzusetzen. Praktischerweise liefert das .NET-Framework mit System.Net.Dns eine Klasse mit entsprechender Funktionalität – zugegebenermaßen aber nur mit geringem Funktionsumfang, weshalb zur professionellen Arbeit mit den verschiedenen Resource Records das Einbinden externer Programmbibliotheken sinnvoll sein kann. Die Anwendung der Basisfunktionalität ist jedoch denkbar einfach:
IP-Adresse(n) zu Domain ermitteln
0102030405060708
IPAddress[] hostAddressList = Dns.GetHostAddresses("coders-online.net");
foreach(IPAddress hostAddress in hostAddressList) { /** * hostAddress enthält nun jeweils eine IP-Adresse zur Domain; * im Falle dieses Beispiels den einzigen Eintrag 80.78.81.19. **/}
Eine praktische Hilfsmethode ist außerdem Dns.GetHostName(), welche den Namen des lokalen Rechners liefert. Das MSDN liefert wie üblich weitere Informationen zur Dns-Klasse, u. a. mit Hinweisen zu den asynchronen Methoden. Weiterhin interessant im System.Net-Namespace ist bis dahin natürlich auch die Klasse IPAddress.


Projektverweise

Kategorien / Archiv  |  Übersicht RSS-Feed

Schlagworte

Suche