È stata pubblicata la nuova versione stabile del analizzatore di rete Wireshark 4.0. Ricordiamo che il progetto è nato con il nome di Ethereal, ma nel 2006, a causa di un conflitto con il proprietario del marchio Ethereal, gli sviluppatori hanno dovuto rinominare il progetto in Wireshark. Il codice del progetto è distribuito sotto licenza GPLv2.
Novità principali di Wireshark 4.0.0:
- È stata cambiata la disposizione degli elementi nella finestra principale. I pannelli "Informazioni aggiuntive sul pacchetto" e "Byte del pacchetto" sono ora affiancati sotto il pannello "Elenco pacchetti".
- È stato modificato il design delle finestre di dialogo "Conversazione" ed "Endpoint".
- Nel menu contestuale sono state aggiunte opzioni per ridimensionare tutte le colonne e copiare elementi.
- È stata garantita la possibilità di sganciare e agganciare le schede.
- È stata aggiunta la possibilità di esportare in formato JSON.
- L'applicazione dei filtri mostra le colonne che evidenziano le differenze tra i pacchetti che soddisfano e non soddisfano i filtri.
- È stata modificata la modalità di ordinamento dei vari tipi di dati.
- Sono stati associati identificatori ai flussi TCP e UDP e resa possibile la filtrazione su di essi.
- È stato consentito di nascondere i dialoghi dal menu contestuale.
- È stato migliorato l'import di dump esadecimali dall'interfaccia di Wireshark e tramite il comando text2pcap.
- In text2pcap è stata aggiunta la possibilità di scrivere dump in tutti i formati supportati dalla libreria wiretap.
- In text2pcap il formato predefinito è stato impostato su pcapng, in analogia alle utility editcap, mergecap e tshark.
- È stata aggiunta la possibilità di scegliere il tipo di incapsulamento del formato di output.
- Sono state aggiunte nuove opzioni per la registrazione.
- È stata fornita la possibilità di salvare nei dump intestazioni fittizie IP, TCP, UDP e SCTP utilizzando l'incapsulamento Raw IP, Raw IPv4 e Raw IPv6.
- È stata aggiunta la possibilità di scansionare file di input utilizzando espressioni regolari.
- È stata garantita la parità di funzionalità tra l'utility text2pcap e l'interfaccia "Importa da Hex Dump" in Wireshark.
- È stata notevolmente migliorata le prestazioni nella determinazione della posizione utilizzando le basi MaxMind.
- Sono state apportate modifiche alla sintassi delle regole di filtraggio del traffico:
- È stata aggiunta la possibilità di scegliere un determinato livello dello stack dei protocolli, ad esempio, per l'incapsulamento IP-over-IP per estrarre indirizzi da pacchetti esterni e annidati è possibile specificare "ip.addr#1 == 1.1.1.1" e "ip.addr#2 == 1.1.1.2".
- Negli operatori condizionali è stata implementata la supporto per i quantificatori "any" e "all", ad esempio, "all tcp.port > 1024" per verificare tutti i campi tcp.port.
- È stato incorporato un sintassi per fare riferimento ai campi — ${some.field}, implementata senza l'uso di macro.
- È stata aggiunta la possibilità di utilizzare operazioni aritmetiche ("+", "-", "*", "/", "%") con campi numerici, racchiudendo l'espressione tra parentesi graffe.
- Sono state aggiunte le funzioni max(), min() e abs().
- È stato consentito di specificare espressioni e chiamare altre funzioni come argomenti delle funzioni.
- È stato aggiunto un nuovo sintassi per separare i letterali dagli identificatori — un valore che inizia con un punto viene trattato come protocollo o campo di protocollo, mentre un valore tra parentesi angolari viene trattato come letterale.
- È stato aggiunto l'operatore bitwise "&", ad esempio, per modificare bit singoli puoi specificare "frame[0] & 0x0F == 3".
- La priorità dell'operatore logico AND è ora superiore a quella dell'operatore OR.
- È stata aggiunta la supporto per la definizione di costanti in forma binaria, utilizzando il prefisso "0b".
- È stata fornita la possibilità di utilizzare valori negativi per gli indici per contare dalla fine, ad esempio, per controllare gli ultimi due byte nell'intestazione TCP puoi specificare "tcp[-2:] == AA:BB".
- È stata vietata la separazione degli elementi di un insieme con spazi, l'uso degli spazi invece di virgola ora porterà a un errore, anziché a un avviso.
- Sono state aggiunte ulteriori sequenze di escape: \a, \b, \f, \n, \r, \t, \v.
- È stata aggiunta la possibilità di specificare caratteri Unicode nel formato \uNNNN e \UNNNNNNNN.
- È stato aggiunto un nuovo operatore di confronto "===" ("all_eq"), che scatta solo se nell'espressione "a === b" tutti i valori di "a" corrispondono a quelli di "b". È stato inoltre aggiunto l'operatore inverso "!==" ("any_ne").
- È stato dichiarato obsoleto l'operatore "~=", per il quale si dovrebbe usare "!==".
- Non è consentito utilizzare numeri con punto non chiuso, cioè i valori ".7" e "7." ora non sono più validi e devono essere specificati come "0.7" e "7.0".
- Il gestore delle espressioni regolari nel motore dei filtri di visualizzazione è stato migrato alla libreria PCRE2 invece di GRegex.
- Nelle stringhe e nei modelli di espressioni regolari è stata implementata una corretta gestione dei byte nulli ('\0' in una stringa viene interpretato come byte nullo).
- Oltre a 1 e 0, i valori booleani possono ora essere scritti anche come True/TRUE e False/FALSE.
- Nel modulo dissezione (dissector) HTTP2 è stata aggiunta la possibilità di utilizzare intestazioni fittizie per l'analisi dei dati intercettati senza pacchetti precedenti con intestazioni (ad esempio, durante l'analisi dei messaggi in connessioni gRPC già stabilite).
- Nel modulo di analisi IEEE 802.11 è stata aggiunta la compatibilità con Mesh Connex (MCX).
- È stata implementata una funzione di memorizzazione temporanea (senza salvataggio su disco) della password nel dialogo Extcap, in modo da non doverla inserire ad ogni riavvio. È stata aggiunta la possibilità di impostare una password per extcap tramite strumenti da linea di comando, come tshark.
- Nell'utilità ciscodump è stata realizzata la possibilità di acquisizione remota da dispositivi basati su IOS, IOS-XE e ASA.
- È stato aggiunto il supporto per i protocolli:
- Allied Telesis Loop Detection (AT LDF),
- AUTOSAR I-PDU Multiplexer (AUTOSAR I-PduM),
- DTN Bundle Protocol Security (BPSec),
- DTN Bundle Protocol Version 7 (BPv7),
- DTN TCP Convergence Layer Protocol (TCPCL),
- DVB Selection Information Table (DVB SIT),
- Enhanced Cash Trading Interface 10.0 (XTI),
- Enhanced Order Book Interface 10.0 (EOBI),
- Enhanced Trading Interface 10.0 (ETI),
- FiveCo’s Legacy Register Access Protocol (5co-legacy),
- Generic Data Transfer Protocol (GDT),
- gRPC Web (gRPC-Web),
- Host IP Configuration Protocol (HICP),
- Huawei GRE bonding (GREbond),
- Locamation Interface Module (IDENT, CALIBRATION, SAMPLES — IM1, SAMPLES — IM2R0),
- Mesh Connex (MCX),
- Microsoft Cluster Remote Control Protocol (RCP),
- Open Control Protocol for OCA/AES70 (OCP.1),
- Protected Extensible Authentication Protocol (PEAP),
- REdis Serialization Protocol v2 (RESP),
- Roon Discovery (RoonDisco),
- Secure File Transfer Protocol (sftp),
- Secure Host IP Configuration Protocol (SHICP),
- SSH File Transfer Protocol (SFTP),
- USB Attached SCSI (UASP),
- ZBOSS Network Coprocessor (ZB NCP).
- Sono stati aumentati i requisiti per l'ambiente di build (CMake 3.10) e le dipendenze (GLib 2.50.0, Libgcrypt 1.8.0, Python 3.6.0, GnuTLS 3.5.8).
Fonte: opennet.ru
