<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>About this documentation on PowerShell Modul DNSServer.DebugLogParser</title><link>https://DNSServerDebugLogParser.andibellstedt.com/v1.2.0.0/de/docs/</link><description>Recent content in About this documentation on PowerShell Modul DNSServer.DebugLogParser</description><generator>Hugo</generator><language>de</language><lastBuildDate>Mon, 01 Jan 0001 00:00:00 +0000</lastBuildDate><atom:link href="https://DNSServerDebugLogParser.andibellstedt.com/v1.2.0.0/de/docs/index.xml" rel="self" type="application/rss+xml"/><item><title>Übersicht</title><link>https://DNSServerDebugLogParser.andibellstedt.com/v1.2.0.0/de/docs/01-overview/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/v1.2.0.0/de/docs/01-overview/</guid><description>&lt;p&gt;DNSServer.DebugLogParser ist ein PowerShell-Modul, das Windows DNS-Server-Debugprotokolldateien in strukturierte, analysierbare CSV-Daten für Sicherheitsanalysen, Leistungsüberwachung, Fehlerbehebung und Compliance-Berichte umwandelt.&lt;/p&gt;
&lt;h2 id="was-ist-ein-dns-debugprotokoll"&gt;Was ist ein DNS-Debugprotokoll?&lt;/h2&gt;
&lt;p&gt;DNS-Debug-Logging ist eine Funktion des Windows DNS-Servers, die detaillierte Informationen über DNS-Vorgänge aufzeichnet. Wenn aktiviert, schreibt der DNS-Server Protokolleinträge in eine Textdatei (typischerweise &lt;code&gt;dns.log&lt;/code&gt;) im Verzeichnis des DNS-Servers.&lt;/p&gt;
&lt;p&gt;Jeder Protokolleintrag enthält bis zu 16 Felder, darunter:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Datum und Uhrzeit der Abfrage&lt;/li&gt;
&lt;li&gt;Verwendetes Protokoll (UDP oder TCP)&lt;/li&gt;
&lt;li&gt;Richtung (Senden oder Empfangen)&lt;/li&gt;
&lt;li&gt;Client-IP-Adresse&lt;/li&gt;
&lt;li&gt;Abfragetyp (A, AAAA, MX, PTR usw.)&lt;/li&gt;
&lt;li&gt;Abgefragter Domainname&lt;/li&gt;
&lt;li&gt;Antwortcode (NOERROR, NXDOMAIN usw.)&lt;/li&gt;
&lt;li&gt;Abfrageflags und Optionen&lt;/li&gt;
&lt;li&gt;IP-Adresse in der Antwort (bei erfolgreichen Abfragen)&lt;/li&gt;
&lt;li&gt;Portnummern und weitere technische Details&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="warum-dns-debugprotokolle-parsen"&gt;Warum DNS-Debugprotokolle parsen?&lt;/h2&gt;
&lt;p&gt;DNS-Protokolle sind entscheidend für:&lt;/p&gt;</description></item><item><title>Ausgabeformate</title><link>https://DNSServerDebugLogParser.andibellstedt.com/v1.2.0.0/de/docs/02-output-formats/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/v1.2.0.0/de/docs/02-output-formats/</guid><description>&lt;p&gt;DNSServer.DebugLogParser kann zwei Arten von Ausgaben erzeugen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Eine CSV-Datendatei mit allen geparsten Einträgen&lt;/li&gt;
&lt;li&gt;Optionale Statistikdateien für die tägliche Aggregation&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Um reale Beispiele für jeden Ausgabetyp zu sehen, schau dir das Beispiel in diesem Artikel an.&lt;/p&gt;
&lt;h2 id="csv-datendatei"&gt;CSV-Datendatei&lt;/h2&gt;
&lt;p&gt;Beispiel-Ausgabedateien:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;en-US (ohne Details): &lt;a href="../outputformat/en-us.-.dnsdebug-dc01.-.WithComputerName.csv"&gt;WithComputerName&lt;/a&gt;, &lt;a href="../outputformat/en-us.-.dnsdebug-dc01.-.NoComputerName.csv"&gt;NoComputerName&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;de-DE (ohne Details): &lt;a href="../outputformat/de-de.-.dnsdebug-dc01.-.WithComputerName.-.NoDetails.csv"&gt;WithComputerName&lt;/a&gt;, &lt;a href="../outputformat/de-de.-.dnsdebug-dc01.-.NoComputerName.-.NoDetails.csv"&gt;NoComputerName&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;de-DE (mit Details / &lt;code&gt;Details&lt;/code&gt; JSON gefüllt für Paket-Detailblöcke): &lt;a href="../outputformat/de-de.-.dnsdebug-dc01.-.WithComputerName.-.WithDetails.csv"&gt;WithComputerName&lt;/a&gt;, &lt;a href="../outputformat/de-de.-.dnsdebug-dc01.-.NoComputerName.-.WithDetails.csv"&gt;NoComputerName&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Die CSV-Datendatei enthält alle geparsten Logeinträge mit den folgenden Spalten:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;DateTime&lt;/code&gt;: Datum und Uhrzeit der DNS-Anfrage/-Antwort&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ThreadId&lt;/code&gt;: Interne DNS-Server-Thread-ID&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Context&lt;/code&gt;: Betriebskontext (z. B. Packet, Event, Note, DSPoll, Init, Lookup, Recurse, Remote, Tombstone)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PacketId&lt;/code&gt;: DNS-Paket-ID&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Protocol&lt;/code&gt;: UDP oder TCP&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Direction&lt;/code&gt;: &lt;code&gt;Rcv&lt;/code&gt; (empfangen/Anfrage) oder &lt;code&gt;Snd&lt;/code&gt; (gesendet/Antwort)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ClientIP&lt;/code&gt;: Client-IP-Adresse&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Xid&lt;/code&gt;: Transaktions-ID (Hex)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Type&lt;/code&gt;: Anfrage oder Antwort&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Opcode&lt;/code&gt;: Standard, Notify, Update oder Unknown&lt;/li&gt;
&lt;li&gt;&lt;code&gt;FlagsHex&lt;/code&gt;: Anfrage-/Antwortflags (Hex)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;FlagsChar&lt;/code&gt;: Flags dekodiert (Authoritative, Truncated, RecursionDesired, RecursionAvailable)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ResponseCode&lt;/code&gt;: NOERROR, NXDOMAIN, SERVFAIL, etc.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;QuestionType&lt;/code&gt;: DNS-Datensatztyp (A, AAAA, MX, PTR, etc.)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;QuestionName&lt;/code&gt;: Abgefragter Domainname&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Information&lt;/code&gt;: Zusätzliche Informationen (für Event/Note/etc.; für Paket-Detailblöcke enthält es die TCP/UDP-Detail-Headerzeile)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Details&lt;/code&gt;: JSON-Daten für Paket-Einträge mit Detailblöcken (ansonsten leer)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ComputerName&lt;/code&gt;: Quellservername (immer vorhanden; leer, wenn nicht angegeben)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Hinweis: Die Spalte &lt;code&gt;ComputerName&lt;/code&gt; ist immer am Ende jedes Eintrags enthalten, um eine konsistente Ausgabestruktur sicherzustellen. Das erleichtert Szenarien zur Konsolidierung von Logs mehrerer Server.&lt;/p&gt;</description></item><item><title>Operative Best Practices</title><link>https://DNSServerDebugLogParser.andibellstedt.com/v1.2.0.0/de/docs/06-operational-best-practices/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/v1.2.0.0/de/docs/06-operational-best-practices/</guid><description>&lt;p&gt;Bei der Verwendung von DNSServer.DebugLogParser in der Produktion:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Regelmäßige Verarbeitung planen&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Nutze den Taskplaner, um neue Protokolldateien täglich oder wöchentlich automatisch zu konvertieren.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Protokolle angemessen rotieren&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;DNS-Debug-Protokolle können schnell wachsen; konfiguriere die Rotation bei einer handhabbaren Größe (z. B. 100 MB).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ausgabe validieren&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Überprüfe die ersten konvertierten Dateien, bevor du die Automatisierung vollständig einsetzt.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Speicherbedarf planen&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Selbst mit Kompression solltest du den Speicherbedarf basierend auf DNS-Volumen und Aufbewahrungszeit planen.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sensible Daten sichern&lt;/p&gt;</description></item><item><title>Fehlerbehebung</title><link>https://DNSServerDebugLogParser.andibellstedt.com/v1.2.0.0/de/docs/08-troubleshooting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/v1.2.0.0/de/docs/08-troubleshooting/</guid><description>&lt;h2 id="häufige-probleme-und-lösungen"&gt;Häufige Probleme und Lösungen&lt;/h2&gt;
&lt;h3 id="die-datei-ist-keine-gültige-dns-debug-logdatei"&gt;„Die Datei ist keine gültige DNS-Debug-Logdatei“&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Stelle sicher, dass du eine tatsächliche Debug-Logdatei des DNS-Servers konvertierst.&lt;/li&gt;
&lt;li&gt;Die Datei sollte mit &lt;code&gt;Message logging started at&lt;/code&gt; beginnen oder DNS-Abfrageeinträge enthalten.&lt;/li&gt;
&lt;li&gt;Wenn du sicher bist, dass die Datei gültig ist, der Header aber abweicht, verwende &lt;code&gt;-SkipHeaderValidation&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ausgabedatei-ist-leer-oder-unvollständig"&gt;Ausgabedatei ist leer oder unvollständig&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Überprüfe, ob die Eingabedatei gültige Logeinträge enthält.&lt;/li&gt;
&lt;li&gt;Manche Logs enthalten nur Header-Informationen, wenn keine Abfragen stattgefunden haben.&lt;/li&gt;
&lt;li&gt;Vergewissere dich, dass die Logdatei nicht beschädigt ist und tatsächliche Abfragedaten enthält.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="verarbeitung-ist-sehr-langsam"&gt;Verarbeitung ist sehr langsam&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Stelle sicher, dass genügend Arbeitsspeicher vorhanden ist und die Festplatte nicht stark ausgelastet ist.&lt;/li&gt;
&lt;li&gt;Ziehe in Betracht, kleinere Logdateien zu verarbeiten.&lt;/li&gt;
&lt;li&gt;Nutze &lt;code&gt;-CompressOutput&lt;/code&gt; mit geplanter Verarbeitung, um kleinere Chargen zu verarbeiten.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="zugriff-verweigert-fehler"&gt;„Zugriff verweigert“-Fehler&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Starte PowerShell mit den erforderlichen Berechtigungen, um die Quell-Logdateien zu lesen und in das Zielverzeichnis zu schreiben.&lt;/li&gt;
&lt;li&gt;DNS-Logdateien erfordern möglicherweise Administratorrechte.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="komprimierte-ausgabe-ist-größer-als-erwartet"&gt;Komprimierte Ausgabe ist größer als erwartet&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Logs mit vielen einzigartigen Werten komprimieren sich weniger effizient; das kann normal sein.&lt;/li&gt;
&lt;li&gt;ZIP-Kompression erzielt dennoch meist eine deutliche Reduzierung.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="statistikdatei-entspricht-nicht-den-erwartungen"&gt;Statistikdatei entspricht nicht den Erwartungen&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Überprüfe, ob du &lt;code&gt;-OutputType Both&lt;/code&gt; oder &lt;code&gt;-OutputType Statistic&lt;/code&gt; verwendest.&lt;/li&gt;
&lt;li&gt;Statistiken sind aggregierte Zählwerte (tägliche Gruppierungen), daher stellen die Werte Gesamtsummen dar.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="probleme-melden"&gt;Probleme melden&lt;/h2&gt;
&lt;p&gt;Wenn du auf Probleme stößt, die hier nicht behandelt werden:&lt;/p&gt;</description></item></channel></rss>