Note di rilascio v1.2.0.0 (2026-01-25)

Aggiunte

  • NUOVO: Elaborazione di record multi-linea per i blocchi di dettaglio PACKET DNS
    • Le voci di contesto PACKET possono ora includere informazioni dettagliate sulla connessione TCP/UDP e sulla struttura del messaggio DNS
    • I blocchi di dettaglio vengono analizzati in formato JSON strutturato nella nuova colonna Details
    • Include: informazioni sul socket, indirizzo/porta remota, dati temporali, struttura del messaggio (XID, Flags, QCOUNT, ecc.)
    • Le sezioni DNS (QUESTION, ANSWER, AUTHORITY, ADDITIONAL) sono catturate con tutti i dettagli del record
    • I nomi di dominio codificati nei blocchi di dettaglio vengono automaticamente convertiti in formato FQDN
  • NUOVO: colonna Details nell’output CSV
    • Contiene dati JSON strutturati per le voci PACKET con blocchi di dettaglio
    • Vuota per le voci PACKET senza dettagli e per tutti i contesti non-PACKET
    • Permette un’analisi approfondita dei pacchetti e indagini forensi su query/risposte DNS
  • NUOVO: parametro switch NoDetailsParsing per ottimizzazione delle prestazioni
    • Salta l’analisi JSON costosa dei blocchi di dettaglio PACKET
    • Può migliorare la velocità di elaborazione del 30-50% per log con molti blocchi di dettaglio
    • Da usare quando si elaborano file molto grandi (oltre 100MB) e non serve la struttura dettagliata dei pacchetti
    • I blocchi di dettaglio vengono comunque raccolti nella colonna Information, ma la colonna Details resta vuota
  • NUOVO: supporto per continuazione multi-linea anche per contesti non-PACKET
    • EVENT, Note, DSPoll e altri contesti possono ora estendersi su più righe
    • Le righe di continuazione indentate vengono automaticamente unite al campo Information del record principale
    • Conserva messaggi di errore completi, aggiornamenti di zona e output diagnostici
  • NUOVO: ContextFilter riconosce tipi di contesto aggiuntivi: DSPoll, Init, Lookup, Recurse, Remote, Tombstone
    • Effetto: Convert-DNSDebugLogFile può ora includere/escludere queste voci diagnostiche e di ciclo di vita tramite -ContextFilter
  • NUOVO: output delle statistiche ora include due file dedicati
    • _Statistic.csv: conteggi giornalieri dei record per tipo di contesto (Date, Context, Count, ComputerName)
    • _PacketStatistic.csv: conteggi giornalieri PACKET per client/protocollo/direzione/tipo (Date, ClientIP, Protocol, Direction, QuestionType, Count, ComputerName)
    • Vantaggio: report più mirati (volume contesto operativo vs. suddivisione traffico DNS)
  • Generazione JSON per i blocchi di dettaglio PACKET ottimizzata per prestazioni (analisi manuale invece di regex)

Modifiche

  • BREAKING: l’output CSV ora include 18 colonne (aggiunta colonna Details prima di ComputerName)
    • Nuovo ordine colonne: DateTime, ThreadId, Context, PacketId, Protocol, Direction, ClientIP, Xid, Type, Opcode, FlagsHex, FlagsChar, ResponseCode, QuestionType, QuestionName, Information, Details, ComputerName
    • Impatto: gli script che si basano sulle posizioni delle colonne devono essere aggiornati
    • Vantaggio: capacità avanzate di analisi pacchetti senza modificare il comportamento della colonna Information esistente
  • Elaborazione delle righe dati rifattorizzata per leggere tutte le righe in memoria e rilevare efficientemente record multi-linea
    • Prestazioni: impatto minimo grazie all’uso ottimizzato di List
    • Vantaggio: consente un lookahead accurato per blocchi di dettaglio e righe di continuazione
  • I nomi delle query mancanti o codificati come vuoti ora vengono gestiti senza errori di parsing; l’output CSV conterrà un campo QuestionName vuoto se assente

Miglioramenti

  • Parsing di Convert-DNSDebugLogFile più robusto: validazione più rigorosa delle righe ed estrazione migliorata riducono righe spurie/invalide da log malformati mantenendo il formato CSV/statistiche
  • Rilevamento del contesto PACKET distingue tra query semplici e query con blocchi di dettaglio
  • Le righe vuote dopo voci PACKET senza dettagli vengono saltate correttamente
  • La decodifica dei nomi di dominio nei blocchi di dettaglio usa la funzione esistente ConvertTo-Fqdn per coerenza

Prestazioni

  • Velocità di elaborazione mantenuta per log senza blocchi di dettaglio
  • Lo switch NoDetailsParsing offre un miglioramento di velocità del 30-50% quando non serve il parsing JSON
  • Gestione efficiente dello stato durante l’elaborazione dei record multi-linea
  • Operazioni su stringhe ottimizzate (TrimStart, Join) invece di regex per la gestione delle righe di continuazione

Note

  • Queste modifiche sono progettate per essere retrocompatibili per un uso normale. Se ti basi su un set esatto di nomi di contesto o su un comportamento di parsing precedentemente rigoroso, verifica gli script a valle
  • La nuova colonna Details è sempre presente nell’output CSV; usa NoDetailsParsing per mantenerla vuota per prestazioni
  • Gli script esistenti che analizzano il CSV per posizione colonna devono considerare la nuova colonna Details (posizione 17, prima di ComputerName)