iX 2/2021
S. 144
Praxis
Tools & Tipps

DNS-Tests mit dem Kommandozeilentool dog

Say my name

Benjamin Pfister

Klassische Werkzeuge für DNS-Lookups wie der Befehl dig bieten noch keine Funktionen zum Testen der neuen Kryptoprotokolle DNS over Transport Layer Security und DNS over HTTPS. Sowohl für DoT als auch für DoH steht aber auf der Kommandozeile das Programm dog zur Verfügung.

Für das in Rust unter der European Union Public License entwickelte dog benötigt man den Compiler rustc ab Version 1.45.0. Neben den klassischen DNS-Abfragen für spezifische Typen und Nameserver bietet dog eine Vielfalt von Protokollen an. Die Optionen -U und -T (wahlweise --udp und --tcp) ermöglichen die klassischen unverschlüsselten DNS-­Querys über UDP respektive TCP. Ein Test TCP-basierter DNS-Querys kann Verbindungsprobleme zum Beispiel in zu res­triktiv konfigurierten Hotspots aufdecken, die nur UDP-basierte DNS-Querys erlauben, wenn die Antworten zu groß werden. dog nutzt kein Caching.

Neu gegenüber bekannten Tools ist die Option -S (alias --tls), die DNS over TLS aktiviert. Entsprechend führt -H (wahlweise --https) zur Nutzung von DNS over HTTPS. Zum Verarbeiten der Ergebnisse in Skripten bietet sich die Option -J respektive --json an. Die Ausgabe ist in diesem Fall JSON-formatiert. Die Anfrage dog --query=HOST --type=A --json heise.de liefert beispielsweise den Output im Listing. Bestimmte Nameserver lassen sich über die Option -n oder --nameserver sowie alternativ mit @ anfragen.

Kommentieren