Formatos de salida

Las columnas del archivo de datos CSV, los dos archivos opcionales de estadísticas y ejemplos reales de salida que puedes abrir antes de ejecutar cualquier cosa.

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

Convert-DNSDebugLogFile genera hasta tres archivos por cada registro de entrada:

ArchivoContieneSe crea cuando
<name>.csvUna fila por cada entrada de registro analizada-OutputType CSV o Both
<name>_Statistic.csvConteo diario de registros por contexto-OutputType Statistic o Both
<name>_PacketStatistic.csvConteo diario de consultas por cliente, protocolo, dirección y tipo de registro-OutputType Statistic o Both

Both es el valor predeterminado. La salida se guarda junto al archivo de entrada a menos que configures -OutputFile.

Los archivos de ejemplo enlazados en esta página son resultados reales de conversiones, no simulaciones. Descarga uno y ábrelo en Excel antes de decidir el diseño de tu pipeline.

El archivo de datos CSV

Ejemplo de salida:

LocalidadColumna DetallesArchivos
en-USno pobladaWithComputerName, NoComputerName
de-DEno pobladaWithComputerName, NoComputerName
de-DEpobladaWithComputerName, NoComputerName

Dos filas de una conversión real — una consulta DNS y una nota interna del servidor:

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

Columnas

Siempre 18 columnas, siempre en este orden:

#ColumnaSignificadoUso típico
1DateTimeMarca temporal de la entradaFiltrado por tiempo, unión con otros registros
2ThreadIdHilo de trabajo del servidor DNSRara vez necesario; útil para correlacionar problemas internos del servidor
3ContextTipo de entrada: Packet, Event, Note, DSPoll, Init, Lookup, Recurse, Remote, TombstonePrimer filtro que aplicarás — Packet es el tráfico DNS real
4PacketIdIdentificador interno del paqueteEmparejar una consulta con su respuesta
5ProtocolUDP o TCPPicos en TCP pueden indicar respuestas grandes o transferencias de zona
6DirectionRcv (consulta recibida) o Snd (servidor respondió)Separar volumen de solicitudes del volumen de respuestas
7ClientIPDirección del host que consultaAnálisis de los que más consultan, delimitación de incidentes
8XidID de transacción DNS (hexadecimal)Emparejar solicitud y respuesta
9TypeQuery o Response
10OpcodeStandard, Notify, Update, UnknownSepara actualizaciones dinámicas y notificaciones de zona de las consultas normales
11FlagsHexBanderas del encabezado en bruto (hexadecimal)Para análisis profundo del protocolo
12FlagsCharBanderas decodificadas: Authoritative, Truncated, RecursionDesired, RecursionAvailableVersión legible de lo anterior
13ResponseCodeNOERROR, NXDOMAIN, SERVFAIL, …Reporte de tasa de errores, búsqueda de fallos en resolución
14QuestionTypeTipo de registro: A, AAAA, MX, PTR, TXT, …El volumen de TXT es un indicador clásico de túneles
15QuestionNameNombre consultado como un FQDN normalCoincidencia con inteligencia de amenazas, informes de dominios principales
16InformationTexto libre para entradas Event / Note; para bloques de detalle Packet la línea de encabezado TCP/UDPLectura de mensajes del servidor
17DetailsRepresentación JSON de un bloque de detalle Packet; vacío en otro casoInspección completa del paquete sin volver al registro en bruto
18ComputerNameServidor origen, desde -ComputerNameMantener conjuntos de datos multi-servidor atribuibles

Dos cosas para planificar:

  • No todas las columnas se llenan en cada fila. Solo las entradas Packet tienen IP del cliente, nombre de consulta y código de respuesta. Las filas Note y Event llevan su texto en Information y dejan vacías las columnas de protocolo. Diseña tu esquema de base de datos y filtros de panel en consecuencia.
  • ComputerName siempre es la última columna, incluso si no usas -ComputerName. Entonces simplemente está vacía. Esto mantiene el diseño idéntico en todos los servidores para que puedas concatenar archivos de muchos servidores DNS sin un paso de mapeo de columnas.

La columna Detalles

Los bloques de detalle solo aparecen si el servidor DNS está configurado para registrar detalles completos del paquete. Cuando existen, el analizador los convierte en un único valor JSON para que la fila siga siendo una sola:

{
  "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": []
  }
}

Analizar estos bloques consume tiempo y hace que el CSV sea considerablemente más grande. Si no los necesitas, usa -NoDetailsParsing: la columna permanece presente pero vacía, y la conversión es más rápida. Consulta Rendimiento.

Los archivos de estadísticas

Las estadísticas son agregados diarios. Úsalas cuando quieras una tendencia o un resumen y no quieras mover el conjunto completo de registros — son órdenes de magnitud más pequeñas que el archivo de datos.

Estadísticas por contexto (*_Statistic.csv)

Responde: ¿cuánto de qué tipo de actividad ocurrió por día?

Date;Context;Count;ComputerName
2026-01-20;Event;2;dc01
2026-01-20;Note;2;dc01
2026-01-20;Packet;12;dc01
ColumnaSignificado
DateDía, siempre en formato yyyy-MM-dd
ContextNombre del contexto (Packet, Event, Note, …)
CountNúmero de registros de ese contexto en ese día
ComputerNameServidor origen

Archivos de ejemplo: en-US WithComputerName, en-US NoComputerName, de-DE WithComputerName, de-DE NoComputerName

Estadísticas de paquetes (*_PacketStatistic.csv)

Responde: ¿quién consultó qué, con qué frecuencia, por día?

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
ColumnaSignificado
DateDía, siempre en formato yyyy-MM-dd
ClientIPHost que consulta
ProtocolUDP o TCP
DirectionRcv o Snd
QuestionTypeTipo de registro DNS
CountNúmero de paquetes coincidentes ese día
ComputerNameServidor origen

Archivos de ejemplo: en-US WithComputerName, en-US NoComputerName, de-DE WithComputerName, de-DE NoComputerName

Delimitador y formato de fecha

Ambos tipos de salida respetan -Delimiter (por defecto ;) y -OutputCulture. Para cualquier cosa que será importada por una máquina, escribe marcas temporales tipo ISO:

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

Esto produce 2026-01-20 23:00:16, que SQL Server, Power BI y pandas leen sin necesidad de indicar formato. Más detalles en Parámetros y opciones.