4.4    Überprüfung der Erreichbarkeit und Namensauflösung von Hosts

Bei der Überprüfung der Erreichbarkeit eines Hosts haben Sie es oft auch gleichzeitig mit Fehlern bei der Namensauflösung zu tun. Aus diesem Grund habe ich hier beide Prüfungsfelder zusammengefasst.

4.4.1    Prüfung der Erreichbarkeit und Namensauflösung mit »ping« bzw. »ping6«

Ihr klassisches Werkzeug für die Verbindungsprüfung ist ping (IPv4) bzw. ping6 (IPv6). Beide nutzen das in Kapitel 5, »Steuer- und Fehlercodes mit ICMP und ICMPv6 übertragen«, erklärte ICMP-Protokoll. In Tabelle 4.6 finden Sie ausgewählte Optionen der beiden Befehle.

Aktion

ping

ping6

Ausgabe eines Pieptons für jeden Ping

-a

-r

Begrenzen auf NN Pings

-c <NN>

-c <NN>

Zeit zwischen den Pings

-i <sec>

-i <sec>

Ausführliche Ausgabe

-v

-v

Tabelle 4.6     Optionen von »ping« und »ping6«

Der ping-Befehl hat die Grundform

ping -<OPTION> <IP-Adresse>

bzw.

ping -<OPTION> <HOSTNAME>.

Im Folgenden stelle ich das Arbeiten mit ping überaus detailliert dar. Das mache ich deshalb, weil ping das Werkzeug schlechthin für die Überprüfung von Netzwerkverbindungen ist und es trotz der einfachen Bedienung immer wieder zu Fehlern bei der Interpretation der Ergebnisse kommt. Ich bitte die Leser mit Netzwerkerfahrung hierfür um Nachsicht. In Abbildung 4.14 sehen Sie Versuche, bei denen die Verbindung sowohl bei der Verwendung einer IP-Adresse als auch eines Host-Namens funktioniert.

Erfolgreicher Verbindungstest mit »ping6«

Abbildung 4.14     Erfolgreicher Verbindungstest mit »ping6«

Ich habe bei jedem Versuch nur zwei Pings absetzen lassen. Am Ende erhalten Sie eine Zusammenfassung der Laufzeiten. Bei der Verwendung von ping (IPv4) sehen die Ausgaben identisch aus.

In Abbildung 4.15 sehen Sie drei fehlgeschlagene Pings. Versuch 1 mit der IP-Adresse und Versuch 2 mit einem bekannten Host-Namen zeigen Ihnen, dass die Geräte einfach nicht erreichbar sind. Das Ergebnis aus Versuch 3 können Sie mehrdeutig auslegen:

Hinweis: Die Ausgaben für ping6 sehen ähnlich aus.

Fehlgeschlagene Pings

Abbildung 4.15     Fehlgeschlagene Pings

4.4.2    Werkzeuge für Nameserver-Abfragen (»nslookup«, »host«, »dig«)

Sie finden wenigstens eines der Programme nslookup, host und dig auf Ihrem Betriebssystem. Ohne weitere Optionen zeigen sie im Erfolgsfall die gefundenen IP-Adressen zum Host-Namen an. Auch die Inverse-Suche ist möglich. Sie erhalten nach der Eingabe der IP-Adresse dann den Host-Namen angezeigt.

In Abbildung 4.16 sehen Sie die Arbeit mit host. Die beiden ersten Abfragen (Vorwärts- und Rückwärtssuche) führen zum Erfolg, die beiden anderen nicht. Wenn Sie auf einen bestimmten Nameserver zugreifen wollen, ergänzen Sie Ihre Abfrage einfach. Setzen Sie am Schluss Ihrer Eingabe den Namen des DNS-Servers:

host <SUCHBEGRIFF> <Nameserver>
Nameserver-Abfragen mit »host«

Abbildung 4.16     Nameserver-Abfragen mit »host«

Mit nslookup (Abbildung 4.17) erhalten Sie einen Hinweis, ob der Nameserver die Information selbst hält oder von einem anderen bezogen hat (non-authoritative). Auch dieses Programm beherrscht die Reverse-Suche. Wenn Sie einen bestimmten Nameserver ansprechen möchten, geben Sie diesen am Schluss Ihrer Abfrage an.

Ausgabe von »nslookup«

Abbildung 4.17     Ausgabe von »nslookup«

Eine recht umfangreiche Ausgabe (Abbildung 4.18) liefert Ihnen dig. Sie setzen Ihren Suchauftrag, wenn Sie auf einen bestimmten DNS-Server zugreifen möchten, in der Form

dig @<Nameserver> <Hostname.Domain>

ab. Sie erhalten umfangreiche Informationen über den beteiligten Nameserver und bekommen die Antwort so dargestellt, wie sie in der Zonendatei hinterlegt wurde.

Die Antwort ist in verschiedene Abschnitte unterteilt. In QUESTION SECTION sehen Sie Ihren Suchbegriff, ANSWER SECTION gibt im Erfolgsfall die gewünschte Adresse aus. Welcher Nameserver die Auskunft erteilte, zeigt die AUTHORITY SECTION. Zusätzliche Angaben teilt die ADDITIONAL SECTION mit.

Ausgabe von »dig«

Abbildung 4.18     Ausgabe von »dig«

Weitere Hinweise für die Praxis entnehmen Sie Tabelle 4.7.

Aktion

Option

Bestimmten Nameserver abfragen

@<Nameserver>

nach IPv4-Adresse suchen

-t A <Hostname.Domain>

nach IPv6-Adresse suchen

-t AAAA <Hostname.Domain>

Abfrageweg ermitteln

+trace <Hostname.Domain>

Abfrageweg ausführlich anzeigen

+trace +additional <Hostname.Domain>

Beispiel

Ermitteln der IPv6-Adresse von www.example.com über den Nameserver 9.9.9.9

dig -t AAAA www.example.com

Informationen über den Nameserver einholen

dig @9.9.9.9

Zuständige Nameserver ermitteln (Ergebnis siehe AUTHORITY SECTION)

dig www.example.com @a.root-servers.net

Abfrageweg ermitteln

dig +trace -t A www.example.com

Tabelle 4.7     dig-optionen

Neuer DNS-Dienst des Quad9-Konsortiums

Das Quad9-Konsortium hat Ende 2017 einen neuen DNS-Dienst ans Netz gebracht. Zielsetzungen sind die Wahrung der Privatsphäre und mehr Sicherheit. Die DNS-Anfragen können per TLS verschlüsselt werden. Darüber hinaus sollen DNSSEC-signierte Domains validiert werden. Der primäre DNS-Server hat die IP-Adresse 9.9.9.9 bzw. 2620:fe::fe. Ungefilterte und nicht DNSSEC-geprüfte Antworten erhalten Sie von 9.9.9.10 bzw. 2620:fe::10. Das Projekt hält weitere Informationen unter www.globalcyberalliance.org bereit.

4.4.3    Mitschnitte von DNS-Abfragen mit Netzwerkdiagnoseprogrammen

Sie können das Wirken von Schad- und Spionageprogrammen in Ihrem lokalen Netz manchmal auch durch deren DNS-Abfragen beobachten. Für die Ersteller solcher Programme bringt die Verwendung von festen IP-Adressen je nach Konzept oft eher Nachteile. Daher sollten Sie sich mit dem Aufbau von DNS-Abfragen und der Handhabung diverser Netzwerkdiagnoseprogramme vertraut machen. Aber: Diese Programme untersuchen jeglichen Netzwerkverkehr! Beachten Sie die rechtliche Grauzone, in der Sie sich damit bewegen. Beachten Sie strikt die Gesetzeslage, eventuell vorhandene Betriebsvereinbarungen und Informationspflichten gegenüber Mitarbeitern und Kollegen.

In Listing 4.3 bis Listing 4.7 finden Sie eine Gegenüberstellung von Abfragen und ihren Spuren im Netzwerk. Bedenken Sie, dass in Ihrem beruflichen Alltag meist andere Netzwerkanwendungen die Anfragen stellen (Webbrowser, Mail-Clients usw.).

Jeweils wichtige Details, wie etwa Fragen und Antworten des Protokolls und Kommandos, finden Sie hervorgehoben. Der Nameserver lag auf dem localhost.

$ host ze4 localhost
zentrale# tcpdump -t -n -i lo0 -s 512 ip6
IP6 ::1.61937 > ::1.53: 43085+ A? ze4.netzbuch. (30)
IP6 ::1.53 > ::1.61937: 43085* 1/1/2 A 192.168.0.34 (113)
IP6 ::1.63863 > ::1.53: 58559+ AAAA? ze4.netzbuch. (30)
IP6 ::1.53 > ::1.63863: 58559* 1/1/2 AAAA fd91:e4a5:5e03::dd05 (125)
IP6 ::1.55738 > ::1.53: 52278+ MX? ze4.netzbuch. (30)
IP6 ::1.53 > ::1.55738: 52278* 0/1/0 (92)

Listing 4.3     Anfrage (Forward, »ze4« hat eine IPv4- und eine IPv6-Adresse)

In Listing 4.3 sehen Sie auch die Transaktionsnummern der Anfragen (hier fett dargestellt). Damit werden Fragen und Antworten vom Client zugeordnet. Die Host-Anfrage erkundigte sich nach dem A-, AAAA- und MX-Record des angegebenen Namens. Neben der Transaktionsnummer sehen Sie das Zeichen »+« für die Frage, »*« und eine Ziffernfolge für die Antwort. An der 1 an der ersten Stelle erkennen Sie, dass eine Auskunft vorliegt, an der 0 dagegen eine negative Antwort. Sie erkennen im Beispiel hier, dass der Host ze4 eine IPv4- und IPv6-Adresse, aber keinen MX-Eintrag in der Zonendatei hat.

$ host fd91:e4a5:5e03::dd05 localhost
zentrale# tcpdump -t -n -i lo0 -s 512 ip6
IP6 ::1.56839 > ::1.53: 64563+ PTR? 5.0.d.d.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3.0.e.5.5.a.4.e.1.9.d.f.ip6.arpa. (90)
IP6 ::1.53 > ::1.56839: 64563* 1/1/2 PTR ze4.netzbuch. (183)

Listing 4.4     Reverse-Abfrage mit IPv6-Adresse

Listing 4.4 zeigt Ihnen die Pointer-Frage (PTR) und die Antwort in Form der in umgekehrter Reihenfolge dargestellten IPv6-Adresse.

$ host 192.168.0.41 localhost
zentrale# tcpdump -t -n -i lo0 -s 512
IP6 ::1.32301 > ::1.53: 27945+ PTR? 41.0.168.192.in-addr.arpa. (43)
IP6 ::1.53 > ::1.32301: 27945* 1/1/2 PTR mobarb.0.168.192.in-addr.arpa. (131)

Listing 4.5     Reverse-Abfrage mit IPv4-Adresse

In Listing 4.5 finden Sie die PTR-Frage nach dem Namen einer IPv4-Adresse. Die Adresse ist auch in der Antwort in umgekehrter Reihenfolge geschrieben.

$ host ze5 localhost
zentrale# tcpdump -t -n -i lo0 -s 512 ip6
IP6 ::1.60499 > ::1.53: 6436+ A? ze5.netzbuch. (30)
IP6 ::1.53 > ::1.60499: 6436 NXDomain* 0/1/0 (92)
IP6 ::1.27587 > ::1.53: 3313+ A? ze5. (21)
IP6 ::1.53 > ::1.27587: 3313 NXDomain 0/1/0 (96)

Listing 4.6     Abfrage (Forward) mit dem Namen eines nicht existierenden Hosts

Sie sehen in Listing 4.6 die Namensanfrage mit negativer Auskunft. Das Programm versuchte es auch mit dem verkürzten Host-Namen.

$ host 192.168.0.61 localhost
zentrale# tcpdump -t -n -i lo0 -s 512
IP6 ::1.38937 > ::1.53: 282+ PTR? 61.0.168.192.in-addr.arpa. (43)
IP6 ::1.53 > ::1.38937: 282 NXDomain* 0/1/0 (105)

Listing 4.7     Reverse-Abfrage mit nicht existierender IP-Adresse

Listing 4.7 zeigt Ihnen den Verlauf einer fehlgeschlagenen Reverse-Anfrage auf.