Formats de sortie

Les colonnes du fichier de données CSV, les deux fichiers statistiques optionnels, et des exemples réels de sorties que tu peux ouvrir avant de lancer quoi que ce soit.

For AI agents: a documentation index is available at /llms.txt; a markdown version of this page is available at /fr/docs/02-output-formats/index.md.

Convert-DNSDebugLogFile produit jusqu’à trois fichiers par fichier journal d’entrée :

FichierContenuCréé quand
<name>.csvUne ligne par entrée de journal analysée-OutputType CSV ou Both
<name>_Statistic.csvNombre d’enregistrements quotidiens par contexte-OutputType Statistic ou Both
<name>_PacketStatistic.csvNombre quotidien de requêtes par client, protocole, direction et type d’enregistrement-OutputType Statistic ou Both

Both est la valeur par défaut. La sortie est placée à côté du fichier d’entrée sauf si tu définis -OutputFile.

Les fichiers exemples liés sur cette page sont des résultats de conversion réels, pas des maquettes. Télécharge-en un et ouvre-le dans Excel avant de te lancer dans la conception d’un pipeline.

Le fichier de données CSV

Exemple de sortie :

LocaleColonne DétailsFichiers
en-USnon renseignéeWithComputerName, NoComputerName
de-DEnon renseignéeWithComputerName, NoComputerName
de-DErenseignéeWithComputerName, NoComputerName

Deux lignes issues d’une conversion réelle — une requête DNS et une note interne au serveur :

DateTime;ThreadId;Context;PacketId;Protocol;Direction;ClientIP;Xid;Type;Opcode;FlagsHex;FlagsChar;ResponseCode;QuestionType;QuestionName;Information;Details;ComputerName
2026-01-20 23:00:16;0FE0;Packet;000002C53117D990;UDP;Rcv;10.0.0.2;c049;Query;Standard;0001;RecursionDesired;NOERROR;A;"odc.officeapps.live.com";"";"";dc01
2026-01-20 23:00:16;DF0;Note;;;;;;;;;;;;"";"got GQCS failure on a dead socket context status=995, socket=904";"";dc01

Colonnes

Toujours 18 colonnes, toujours dans cet ordre :

#ColonneSignificationUsage typique
1DateTimeHorodatage de l’entréeFiltrage temporel, jointure avec d’autres journaux
2ThreadIdThread de travail du serveur DNSRarement nécessaire ; utile pour corréler des problèmes internes au serveur
3ContextType d’entrée : Packet, Event, Note, DSPoll, Init, Lookup, Recurse, Remote, TombstonePremier filtre que tu appliqueras — Packet correspond au trafic DNS réel
4PacketIdIdentifiant interne du paquetJumeler une requête avec sa réponse
5ProtocolUDP ou TCPLes pics TCP peuvent indiquer de grosses réponses ou des transferts de zone
6DirectionRcv (requête reçue) ou Snd (réponse envoyée)Séparer le volume des requêtes du volume des réponses
7ClientIPAdresse de l’hôte qui interrogeAnalyse des plus gros émetteurs, cadrage d’incident
8XidID de transaction DNS (hexadécimal)Faire correspondre requête et réponse
9TypeQuery ou Response
10OpcodeStandard, Notify, Update, UnknownSépare les mises à jour dynamiques et notifications de zone des recherches normales
11FlagsHexFlags bruts de l’en-tête (hexadécimal)Pour une analyse approfondie du protocole
12FlagsCharFlags décodés : Authoritative, Truncated, RecursionDesired, RecursionAvailableVersion lisible des flags ci-dessus
13ResponseCodeNOERROR, NXDOMAIN, SERVFAIL, …Rapport de taux d’erreur, recherche d’échecs de résolution
14QuestionTypeType d’enregistrement : A, AAAA, MX, PTR, TXT, …Le volume TXT est un indicateur classique de tunneling
15QuestionNameNom interrogé en FQDN normalCorrespondance avec renseignements sur les menaces, rapports de domaines principaux
16InformationTexte libre pour les entrées Event / Note ; pour les blocs de détails Packet, ligne d’en-tête TCP/UDPLecture des messages serveur
17DetailsReprésentation JSON d’un bloc de détails Packet ; vide sinonInspection complète du paquet sans revenir au journal brut
18ComputerNameServeur source, depuis -ComputerNamePermet d’attribuer les données multi-serveurs

Deux points à prévoir :

  • Toutes les colonnes ne sont pas remplies pour chaque ligne. Seules les entrées Packet ont une IP client, un nom de question et un code de réponse. Les lignes Note et Event portent leur texte dans Information et laissent les colonnes protocole vides. Conçois ton schéma de base de données et tes filtres de tableau de bord en conséquence.
  • ComputerName est toujours la dernière colonne, même si tu n’utilises pas -ComputerName. Elle est alors simplement vide. Cela garantit une mise en page identique sur tous les serveurs pour concaténer des fichiers de plusieurs serveurs DNS sans étape de mappage des colonnes.

La colonne Détails

Les blocs de détails n’apparaissent que si le serveur DNS est configuré pour enregistrer les détails complets des paquets. Lorsqu’ils existent, le parseur les convertit en une seule valeur JSON pour que la ligne reste unique :

{
  "Socket": "848",
  "Remote": "addr 10.10.0.11, port 60580",
  "Buflength": "0x10000 (65536)",
  "Message": {
    "XID": "0x0001",
    "OPCODE": "0 (QUERY)",
    "RCODE": "0 (NOERROR)",
    "QUESTION": [ { "Name": "berlin.de", "QTYPE": "A (1)", "QCLASS": "1" } ],
    "ANSWER": []
  }
}

Analyser ces blocs prend du temps et rend le CSV beaucoup plus volumineux. Si tu n’en as pas besoin, utilise -NoDetailsParsing — la colonne reste présente mais vide, et la conversion est plus rapide. Voir Performance.

Les fichiers statistiques

Les statistiques sont des agrégats quotidiens. Utilise-les quand tu veux une tendance ou un résumé et que tu ne veux pas manipuler l’ensemble complet des enregistrements — ils sont des ordres de grandeur plus petits que le fichier de données.

Statistiques par contexte (*_Statistic.csv)

Répondent à la question : quelle quantité de quel type d’activité s’est produite par jour ?

Date;Context;Count;ComputerName
2026-01-20;Event;2;dc01
2026-01-20;Note;2;dc01
2026-01-20;Packet;12;dc01
ColonneSignification
DateJour, toujours au format yyyy-MM-dd
ContextNom du contexte (Packet, Event, Note, …)
CountNombre d’enregistrements de ce contexte ce jour-là
ComputerNameServeur source

Fichiers exemples : en-US WithComputerName, en-US NoComputerName, de-DE WithComputerName, de-DE NoComputerName

Statistiques par paquet (*_PacketStatistic.csv)

Répondent à la question : qui a interrogé quoi, combien de fois, par jour ?

Date;ClientIP;Protocol;Direction;QuestionType;Count;ComputerName
2026-01-20;10.0.0.1;UDP;Rcv;A;3;dc01
2026-01-20;10.0.0.1;UDP;Snd;A;3;dc01
2026-01-20;10.0.0.2;UDP;Rcv;A;3;dc01
ColonneSignification
DateJour, toujours au format yyyy-MM-dd
ClientIPHôte qui interroge
ProtocolUDP ou TCP
DirectionRcv ou Snd
QuestionTypeType d’enregistrement DNS
CountNombre de paquets correspondants ce jour-là
ComputerNameServeur source

Fichiers exemples : en-US WithComputerName, en-US NoComputerName, de-DE WithComputerName, de-DE NoComputerName

Délimiteur et format de date

Les deux types de sortie respectent -Delimiter (par défaut ;) et -OutputCulture. Pour tout ce qui sera importé par une machine, écris des horodatages au format ISO-like :

Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -OutputCulture 'sv-SE'

Cela produit 2026-01-20 23:00:16, que SQL Server, Power BI et pandas lisent sans indication de format. Détails dans Paramètres et options.