Filtern von Abfragen mit -Y "dns.qry.name"
In diesem Schritt lernen Sie, wie Sie DNS-Abfragen in Wireshark mithilfe von Anzeigefiltern filtern. DNS (Domain Name System) ist wie das Telefonbuch des Internets und übersetzt menschenlesbare Domainnamen in maschinenlesbare IP-Adressen. Beim Beheben von Netzwerkproblemen kann die Untersuchung des DNS-Verkehrs wichtige Hinweise liefern.
Wir konzentrieren uns auf das Feld dns.qry.name
, das speziell die in DNS-Abfragen angeforderten Domainnamen anzeigt. Dies ist besonders nützlich, wenn Sie den Verkehr im Zusammenhang mit bestimmten Websites oder Diensten aus der im vorherigen Schritt erstellten Erfassung untersuchen müssen.
- Zunächst öffnen wir die zuvor in Wireshark gespeicherte Erfassungsdatei. Das
&
am Ende führt den Befehl im Hintergrund aus, sodass Sie weiterhin das Terminal verwenden können:
wireshark ~/project/dns_capture.pcapng &
- Geben Sie in der Anzeigefilterleiste von Wireshark (dem leeren Feld direkt unter der Symbolleiste) diesen genauen Filter ein, um nur DNS-Abfragen für "example.com" anzuzeigen:
dns.qry.name == "example.com"
Dieser strikte Gleichheitsfilter (==
) zeigt nur Pakete an, bei denen der abgefragte Domainname exakt mit "example.com" übereinstimmt.
- Um alle DNS-Abfragen anzuzeigen, unabhängig davon, welcher Domainname angefordert wird, verwenden Sie einfach den Feldnamen allein:
dns.qry.name
Dies zeigt alle Pakete an, die DNS-Abfragenamen enthalten und hilft Ihnen zu verstehen, welche Domains in Ihrem Netzwerk aufgelöst werden.
- Um eine vollständige Ansicht zu erhalten, die sowohl DNS-Abfragen (Anfragen) als auch Antworten zeigt, verwenden Sie diesen Filter, der das DNS-Antwortflag überprüft:
dns.flags.response == 0 || dns.flags.response == 1
Hier zeigt dns.flags.response == 0
Abfragen (Anfragen), während dns.flags.response == 1
Antworten anzeigt.
- Manchmal möchten Sie möglicherweise alle Abfragen im Zusammenhang mit einer bestimmten Organisation oder einem bestimmten Dienst finden. Versuchen Sie, nach partiellen Domainübereinstimmungen zu filtern, indem Sie den "contains"-Operator verwenden:
dns.qry.name contains "example"
Dies wird alle Domains übereinstimmen, die "example" enthalten, wie "example.com", "test.example.org" oder "example.net".
Wichtige Punkte zum Verständnis:
-Y
ist die Anzeigefilteroption von Wireshark (entspricht dem Eingeben in die Filterleiste)
dns.qry.name
ist ein spezielles Feld in DNS-Paketen, das den abgefragten Domainnamen enthält
- Anzeigefilter helfen Ihnen, sich auf bestimmte Verkehrsmuster zu konzentrieren, indem sie nicht relevante Pakete ausblenden
- Filter können verschiedene Vergleichsoperatoren verwenden:
==
für exakte Übereinstimmungen
!=
für Ausschlüsse
contains
für partielle Übereinstimmungen
- Das DNS-Protokoll enthält Flags, um zwischen Abfragen (
response == 0
) und Antworten (response == 1
) zu unterscheiden