È stata pubblicata la versione stabile della nuova serie dell'analizzatore di rete Wireshark 4.0. Ricordiamo che il progetto inizialmente si chiamava Ethereal, ma nel 2006, a causa di un conflitto con il proprietario del marchio Ethereal, gli sviluppatori sono stati costretti a rinominare il progetto in Wireshark. Il codice del progetto è distribuito sotto licenza GPLv2.
Novità principali di Wireshark 4.0.0:
- È stata modificata la disposizione degli elementi nella finestra principale. I pannelli "Informazioni aggiuntive sul pacchetto" e "Byte del pacchetto" sono stati posizionati affianco nel pannello "Elenco pacchetti".
- Modificata l'interfaccia delle finestre di dialogo "Conversazione" e "Punto finale".
- Nei menu contestuali sono state aggiunte opzioni per modificare le dimensioni di tutte le colonne e copiare gli elementi.
- È stata garantita la possibilità di staccare e riattaccare le schede.
- È stata aggiunta la supporto per l'esportazione in formato JSON.
- Applicando i filtri, vengono mostrati colonne che mostrano le differenze tra i pacchetti che soddisfano e quelli che non soddisfano i filtri.
- Modificata la modalità di ordinamento dei vari tipi di dati.
- A flussi TCP e UDP sono stati assegnati identificatori e fornita la possibilità di filtrarli.
- È stato consentito di nascondere i dialoghi dal menu contestuale.
- Migliorato l'importazione di dump esadecimali dall'interfaccia di Wireshark e tramite il comando text2pcap.
- In text2pcap è stata fornita la possibilità di scrivere dump in tutti i formati supportati dalla libreria wiretap.
- In text2pcap, il formato predefinito è impostato su pcapng, analogamente agli strumenti editcap, mergecap e tshark.
- Aggiunto il supporto per la selezione del tipo di incapsulamento del formato di output.
- Aggiunte nuove opzioni per la registrazione.
- Fornita la possibilità di salvare nei dump intestazioni fittizie IP, TCP, UDP e SCTP quando si utilizza l'incapsulamento Raw IP, Raw IPv4 e Raw IPv6.
- Aggiunto il supporto per la scansione dei file di input utilizzando espressioni regolari.
- Garantita la parità di funzionalità tra l'utility text2pcap e l'interfaccia "Importa da Hex Dump" in Wireshark.
- Significativamente migliorata la performance nell'identificazione della posizione utilizzando i database MaxMind.
- Modifiche nella sintassi delle regole di filtraggio del traffico:
- Aggiunta la possibilità di selezionare uno specifico livello dello stack dei protocolli, ad esempio, quando si incapsula IP-over-IP per estrarre indirizzi da pacchetti esterni e nidificati, si possono 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 controllare tutti i campi tcp.port.
- È stata incorporata una sintassi per specificare i riferimenti ai campi — ${some.field}, realizzata senza l'uso di macro.
- È stata aggiunta la possibilità di utilizzare operazioni aritmetiche («+», «-«, «*», «/», «%») con campi numerici, delimitando l'espressione con parentesi graffe.
- Sono state aggiunte le funzioni max(), min() e abs().
- È consentito specificare espressioni e chiamate a altre funzioni come argomenti delle funzioni.
- È stata aggiunta una nuova sintassi per separare i letterali dagli identificatori — un valore che inizia con un punto viene elaborato come protocollo o campo del protocollo, mentre un valore tra parentesi angolari viene considerato come letterale.
- È stato aggiunto l'operatore bitwise «&», ad esempio, per modificare singoli bit si può specificare «frame[0] & 0x0F == 3».
- La priorità dell'operatore logico AND è ora superiore a quella dell'operatore OR.
- È stata aggiunta la supporto per specificare costanti in formato binario, utilizzando il prefisso «0b».
- È stata aggiunta la possibilità di utilizzare valori negativi degli indici per il conteggio dalla fine, ad esempio, per controllare gli ultimi due byte nell'intestazione TCP si può indicare «tcp[-2:] == AA:BB».
- È vietato separare gli elementi di un insieme con spazi, l'uso di spazi al posto di virgole 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 «a» coincidono con «b». È stato anche aggiunto l'operatore inverso «!==» («any_ne»).
- L'operatore «~=» è stato dichiarato obsoleto e dovrebbe essere sostituito da «!==».
- È vietato utilizzare numeri con un punto non chiuso, quindi i valori «.7» e «7.» ora non sono ammessi e devono essere indicati come «0.7» e «7.0».
- Il gestore delle espressioni regolari nel motore dei filtri display è stato trasferito alla libreria PCRE2 invece di GRegex.
- Nelle stringhe e nei modelli di espressioni regolari è stata implementata la gestione corretta dei byte nulli (‘\0’ in una stringa è 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 di analisi (dissettore) HTTP2 è stata aggiunta la supporto per l'utilizzo di intestazioni fittizie per analizzare dati intercettati senza pacchetti precedenti con intestazioni (ad esempio, durante l'analisi dei messaggi in collegamenti gRPC già stabiliti).
- Nel modulo di analisi IEEE 802.11 è stata aggiunta la supporto per Mesh Connex (MCX).
- È stata implementata la memorizzazione temporanea (senza salvataggio su disco) della password nella finestra di dialogo Extcap, in modo da non doverla inserire durante i lanci ripetuti. È stata aggiunta la possibilità di impostare una password per extcap tramite utility da riga di comando, come tshark.
- Nell'utilità ciscodump è stata realizzata la possibilità di acquisizione remota da dispositivi basati su IOS, IOS-XE e ASA.
- È stata aggiunta la 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).
- Aumentati i requisiti per l'ambiente di assemblaggio (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
