# Ausgabeformate

LLMS index: [llms.txt](/v1.2.0.0/llms.txt)

---

DNSServer.DebugLogParser kann zwei Arten von Ausgaben erzeugen:

- Eine CSV-Datendatei mit allen geparsten Einträgen
- Optionale Statistikdateien für die tägliche Aggregation

Um reale Beispiele für jeden Ausgabetyp zu sehen, schau dir das Beispiel in diesem Artikel an.

## CSV-Datendatei

Beispiel-Ausgabedateien:

- en-US (ohne Details): [WithComputerName](../outputformat/en-us.-.dnsdebug-dc01.-.WithComputerName.csv), [NoComputerName](../outputformat/en-us.-.dnsdebug-dc01.-.NoComputerName.csv)
- de-DE (ohne Details): [WithComputerName](../outputformat/de-de.-.dnsdebug-dc01.-.WithComputerName.-.NoDetails.csv), [NoComputerName](../outputformat/de-de.-.dnsdebug-dc01.-.NoComputerName.-.NoDetails.csv)
- de-DE (mit Details / `Details` JSON gefüllt für Paket-Detailblöcke): [WithComputerName](../outputformat/de-de.-.dnsdebug-dc01.-.WithComputerName.-.WithDetails.csv), [NoComputerName](../outputformat/de-de.-.dnsdebug-dc01.-.NoComputerName.-.WithDetails.csv)

Die CSV-Datendatei enthält alle geparsten Logeinträge mit den folgenden Spalten:

- `DateTime`: Datum und Uhrzeit der DNS-Anfrage/-Antwort
- `ThreadId`: Interne DNS-Server-Thread-ID
- `Context`: Betriebskontext (z. B. Packet, Event, Note, DSPoll, Init, Lookup, Recurse, Remote, Tombstone)
- `PacketId`: DNS-Paket-ID
- `Protocol`: UDP oder TCP
- `Direction`: `Rcv` (empfangen/Anfrage) oder `Snd` (gesendet/Antwort)
- `ClientIP`: Client-IP-Adresse
- `Xid`: Transaktions-ID (Hex)
- `Type`: Anfrage oder Antwort
- `Opcode`: Standard, Notify, Update oder Unknown
- `FlagsHex`: Anfrage-/Antwortflags (Hex)
- `FlagsChar`: Flags dekodiert (Authoritative, Truncated, RecursionDesired, RecursionAvailable)
- `ResponseCode`: NOERROR, NXDOMAIN, SERVFAIL, etc.
- `QuestionType`: DNS-Datensatztyp (A, AAAA, MX, PTR, etc.)
- `QuestionName`: Abgefragter Domainname
- `Information`: Zusätzliche Informationen (für Event/Note/etc.; für Paket-Detailblöcke enthält es die TCP/UDP-Detail-Headerzeile)
- `Details`: JSON-Daten für Paket-Einträge mit Detailblöcken (ansonsten leer)
- `ComputerName`: Quellservername (immer vorhanden; leer, wenn nicht angegeben)

Hinweis: Die Spalte `ComputerName` ist immer am Ende jedes Eintrags enthalten, um eine konsistente Ausgabestruktur sicherzustellen. Das erleichtert Szenarien zur Konsolidierung von Logs mehrerer Server.

## Statistikdateien (optional)

Beispiel-Ausgabedateien:

- Kontextstatistiken: [en-US (WithComputerName)](../outputformat/en-us.-.dnsdebug-dc01_Statistic.-.WithComputerName.csv), [en-US (NoComputerName)](../outputformat/en-us.-.dnsdebug-dc01_Statistic.-.NoComputerName.csv), [de-DE (WithComputerName)](../outputformat/de-de.-.dnsdebug-dc01_Statistic.-.WithComputerName.csv), [de-DE (NoComputerName)](../outputformat/de-de.-.dnsdebug-dc01_Statistic.-.NoComputerName.csv)
- Paketstatistiken: [en-US (WithComputerName)](../outputformat/en-us.-.dnsdebug-dc01_PacketStatistic.-.WithComputerName.csv), [en-US (NoComputerName)](../outputformat/en-us.-.dnsdebug-dc01_PacketStatistic.-.NoComputerName.csv), [de-DE (WithComputerName)](../outputformat/de-de.-.dnsdebug-dc01_PacketStatistic.-.WithComputerName.csv), [de-DE (NoComputerName)](../outputformat/de-de.-.dnsdebug-dc01_PacketStatistic.-.NoComputerName.csv)

Wenn Statistiken erzeugt werden, entstehen zwei separate Dateien:

### 1) Kontextstatistiken (`*_Statistic.csv`)

Spalten:

- `Date`: Datum (`yyyy-MM-dd`)
- `Context`: Kontextname (z. B. Packet, Event, Note)
- `Count`: Anzahl der Einträge
- `ComputerName`: Quellservername

### 2) Paketstatistiken (`*_PacketStatistic.csv`)

Spalten:

- `Date`: Datum (`yyyy-MM-dd`)
- `ClientIP`: Client-IP-Adresse
- `Protocol`: UDP oder TCP
- `Direction`: `Rcv` oder `Snd`
- `QuestionType`: DNS-Datensatztyp
- `Count`: Anzahl der Einträge
- `ComputerName`: Quellservername
