Opublikowana została nowa stabilna wersja analizatora sieci Wireshark 4.0. Przypominamy, że projekt początkowo rozwijał się pod nazwą Ethereal, ale w 2006 roku, z powodu konfliktu z właścicielem znaku towarowego Ethereal, programiści zostali zmuszeni do zmiany nazwy na Wireshark. Kod projektu jest rozpowszechniany na licencji GPLv2.
Kluczowe nowości Wireshark 4.0.0:
- Zmieniona została kompozycja elementów w głównym oknie. Panele „Dodatkowe informacje o pakiecie” oraz „Bajty pakietu” zostały umieszczone obok siebie pod panelem „Lista pakietów”.
- Zmieniono wygląd okien dialogowych „Rozmowa” (Conversation) oraz „Końcówka” (Endpoint).
- Dodano opcje zmiany rozmiaru wszystkich kolumn i kopiowania elementów do menu kontekstowego.
- Zapewniono możliwość odpinania i przypinania kart.
- Dodano wsparcie dla eksportu w formacie JSON.
- Przy zastosowaniu filtrów pokazano kolumny, które wyświetlają różnice między pakietami pasującymi i niepasującymi do filtrów.
- Zmieniono sortowanie różnych typów danych.
- Do strumieni TCP i UDP przypisano identyfikatory oraz wprowadzono możliwość filtrowania według nich.
- Zezwalano na ukrywanie dialogów z menu kontekstowego.
- Poprawiono import szesnastkowych dumpów z interfejsu Wireshark oraz przy pomocy polecenia text2pcap.
- W text2pcap dodano możliwość zapisu dumpów we wszystkich formatach wspieranych przez bibliotekę wiretap.
- W text2pcap format domyślny ustawiono na pcapng, analogicznie do narzędzi editcap, mergecap i tshark.
- Dodano wsparcie dla wyboru typu enkapsulacji formatu wyjściowego.
- Dodano nowe opcje do prowadzenia logów.
- Zapewniono możliwość zapisania w dumpach fikcyjnych nagłówków IP, TCP, UDP i SCTP przy użyciu enkapsulacji Raw IP, Raw IPv4 i Raw IPv6.
- Dodano wsparcie dla skanowania plików źródłowych z wykorzystaniem wyrażeń regularnych.
- Zapewniono parytet funkcjonalności narzędzia text2pcap i interfejsu „Importuj z Hex Dump” w Wireshark.
- Zasadniczo zwiększono wydajność lokalizowania za pomocą baz MaxMind.
- Wprowadzono zmiany w składni reguł filtrowania ruchu:
- Dodano możliwość wyboru konkretnej warstwy stosu protokołów, na przykład przy enkapsulacji IP-over-IP w celu wyodrębnienia adresów z zewnętrznych i wewnętrznych pakietów można wskazywać „ip.addr#1 == 1.1.1.1” i „ip.addr#2 == 1.1.1.2”.
- W operatorach warunkowych zaimplementowano obsługę kwantyfikatorów „any” i „all”, na przykład „all tcp.port > 1024” do sprawdzenia wszystkich pól tcp.port.
- Wbudowana składnia do wskazywania odniesień do pól — ${some.field}, zrealizowana bez użycia makr.
- Dodano możliwość używania operacji arytmetycznych („+”, „-“, „*”, „/”, „%”) z polami numerycznymi, oddzielając wyrażenie nawiasami klamrowymi.
- Dodane funkcje max(), min() i abs().
- Zezwolono na wskazywanie wyrażeń i wywoływanie innych funkcji jako argumentów funkcji.
- Dodano nową składnię do oddzielania literałów od identyfikatorów — wartość rozpoczynająca się od kropki jest przetwarzana jako protokół lub pole protokołu, a wartość w znakach — jako literał.
- Dodano operator bitowy „&”, na przykład do zmiany poszczególnych bitów można wskazać „frame[0] & 0x0F == 3”.
- Priorytet operatora logicznego AND jest teraz wyższy niż operatora OR.
- Dodano obsługę określania stałych w postaci binarnej, używając prefiksu „0b”.
- Dodano możliwość używania ujemnych wartości indeksów do liczenia od końca, na przykład do sprawdzenia ostatnich dwóch bajtów w nagłówku TCP można wskazać „tcp[-2:] == AA:BB”.
- Zabroniono rozdzielania elementów zbioru spacjami, użycie spacji zamiast przecinka teraz powoduje błąd zamiast ostrzeżenia.
- Dodano dodatkowe sekwencje ucieczki: \a, \b, \f, \n, \r, \t, \v.
- Dodano możliwość wskazywania znaków Unicode w formacie \uNNNN i \UNNNNNNNN.
- Dodano nowy operator porównania „===” („all_eq”), który działa tylko wtedy, gdy w wyrażeniu „a === b” wszystkie wartości „a” są zgodne z „b”. Dodano również operator przeciwny „!==” („any_ne”).
- Operator „~=”, ogłoszono przestarzałym, zamiast niego należy używać „!==”.
- Zabroniono używania liczb z niezamkniętą kropką, tzn. wartości „.7” i „7.” są teraz niedopuszczalne, zamiast tego należy podać „0.7” i „7.0”.
- Silnik wyrażeń regularnych w silniku filtrów wyświetlania został przetworzony na bibliotekę PCRE2 zamiast GRegex.
- W łańcuchach i wzorach wyrażeń regularnych zaimplementowano poprawną obsługę bajtów zerowych (‘\0’ w łańcuchu jest interpretowane jako bajt zerowy).
- Oprócz 1 i 0 wartości logiczne mogą być teraz również zapisywane jako True/TRUE i False/FALSE.
- W module analizy HTTP2 dodano wsparcie dla użycia fikcyjnych nagłówków do analizy danych przechwyconych bez wcześniejszych pakietów nagłówków (np. podczas analizy wiadomości w już nawiązanych połączeniach gRPC).
- W module analizy IEEE 802.11 dodano wsparcie dla Mesh Connex (MCX).
- Zapewniono tymczasowe zapamiętywanie (bez zapisywania na dysku) hasła w oknie dialogowym Extcap, aby nie wprowadzać go przy ponownych uruchomieniach. Dodano możliwość ustawienia hasła dla extcap poprzez narzędzia wiersza poleceń, takie jak tshark.
- W narzędziu ciscodump wprowadzono możliwość zdalnego przechwytywania z urządzeń na bazie IOS, IOS-XE i ASA.
- Dodano wsparcie dla protokołów:
- Wykrywanie pętli Allied Telesis (AT LDF),
- AUTOSAR I-PDU Multiplexer (AUTOSAR I-PduM),
- Bezpieczeństwo protokołu pakietów DTN (BPSec),
- Wersja 7 protokołu pakietów DTN (BPv7),
- Protokół warstwy konwergencji TCP DTN (TCPCL),
- Tabela informacji o wyborze DVB (DVB SIT),
- Ulepszony interfejs handlu gotówkowego 10.0 (XTI),
- Ulepszony interfejs książki zamówień 10.0 (EOBI),
- Ulepszony interfejs handlowy 10.0 (ETI),
- Protokół dostępu do rejestru Legacy FiveCo (5co-legacy),
- Ogólny protokół transferu danych (GDT),
- gRPC Web (gRPC-Web),
- Protokół konfiguracji IP hosta (HICP),
- Łączenie GRE Huawei (GREbond),
- Moduł interfejsu Locamation (IDENT, KALIBRACJA, PRÓBKi — IM1, PRÓBKi — IM2R0),
- Mesh Connex (MCX),
- Protokół zdalnego sterowania klastra Microsoft (RCP),
- Protokół sterowania otwartego dla OCA/AES70 (OCP.1),
- Ochroniony rozszerzalny protokół uwierzytelniania (PEAP),
- Protokół serializacji REdis v2 (RESP),
- Odkrywanie Roon (RoonDisco),
- Zabezpieczony protokół transferu plików (sftp),
- Zabezpieczony protokół konfiguracji IP hosta (SHICP),
- Protokół transferu plików SSH (SFTP),
- USB Attached SCSI (UASP),
- Koprocesor sieciowy ZBOSS (ZB NCP).
- Zwiększono wymagania dotyczące środowiska kompilacji (CMake 3.10) oraz zależności (GLib 2.50.0, Libgcrypt 1.8.0, Python 3.6.0, GnuTLS 3.5.8).
Źródło: opennet.ru
