Опубліковано реліз нової стабільної гілки мережевого аналізатора Wireshark 4.0. Нагадаємо, що спочатку проект розвивався під ім'ям Ethereal, але у 2006 році через конфлікт із власником торгової марки Ethereal, розробники були змушені перейменувати проект у Wireshark. Код проекту розповсюджується під ліцензією GPLv2.
Ключові нововведення Wireshark 4.0.0:
- Змінено компонування елементів в основному вікні. Панелі «Додаткова Інформація про пакет» та «Байти пакета» розміщені пліч-о-пліч під панеллю «Список Пакетів».
- Змінено оформлення діалогових вікон «Діалог» (Conversation) та «Кінцева точка» (Endpoint).
- У контекстні меню додано опції для зміни розміру всіх стовпців та копіювання елементів.
- Забезпечено можливість відкріплення та прикріплення вкладок.
- Додано підтримку експорту у форматі JSON.
- При застосуванні фільтрів показані стовпці, що відображають відмінності між пакетами, що підпали і не підпали під фільтри.
- Змінено сортування різних видів даних.
- До TCP та UDP потоків прив'язані ідентифікатори та надано можливість фільтрації за ними.
- Дозволено приховувати діалоги з контекстного меню.
- Покращено імпорт шістнадцяткових дампів з інтерфейсу Wireshark та за допомогою команди text2pcap.
- У text2pcap надано можливість запису дампів у всіх форматах, що підтримуються бібліотекою wiretap.
- У text2pcap як формат за замовчуванням виставлений pcapng, за аналогією з утилітами editcap, mergecap і tshark.
- Додано підтримку вибору типу інкапсуляції формату виведення.
- Додано нові опції для ведення логів.
- Надано можливість збереження в дампах фіктивних заголовків IP, TCP, UDP та SCTP при використанні інкапсуляції Raw IP, Raw IPv4 та Raw IPv6.
- Додано підтримку сканування вхідних файлів з використанням регулярних виразів.
- Забезпечено паритет функціональності утиліти text2pcap та інтерфейсу «Import from Hex Dump» у Wireshark.
- Значно підвищено продуктивність місцезнаходження з використанням баз MaxMind.
- Внесено зміни до синтаксису правил фільтрації трафіку:
- Додано можливість вибору певного шару стека протоколів, наприклад, при інкапсуляції IP-over-IP для вилучення адрес із зовнішніх і вкладених пакетів можна вказувати «ip.addr#1 == 1.1.1.1» та «ip.addr#2 == 1.1.1.2. XNUMX».
- В умовних операторах реалізована підтримка кванторів any та all, наприклад, all tcp.port > 1024 для перевірки всіх полів tcp.port.
- Вбудований синтаксис для вказівки посилань на поля – ${some.field}, реалізований без використання макросів.
- Додано можливість використання арифметичних операцій («+», «-«, «*», «/», «%») з числовими полями, відокремлюючи вираз фігурними дужками.
- Додані функції max(), min() та abs().
- Дозволено вказівки виразів та виклику інших функцій як аргументи функцій.
- Додано новий синтаксис для відокремлення літералів від ідентифікаторів — значення, що починається з точки, обробляється як протокол або поле протоколу, а значення в кутових дужках — як літерал.
- Доданий бітовий оператор «&», наприклад, зміни окремих бітів можна вказувати «frame[0] & 0x0F == 3».
- Пріоритет логічного оператора AND тепер вищий, ніж оператора OR.
- Додано підтримку завдання констант у двійковому вигляді, використовуючи префікс «0b».
- Додано можливість використання негативних значень індексів для звіту з кінця, наприклад, для перевірки останніх двох байтів у заголовку TCP можна вказати "tcp[-2:] == AA:BB".
- Заборонено поділ елементів безлічі пробілами, використання пробілів замість коми тепер призводитиме не до попередження, а до помилки.
- Додані додаткові escape-послідовності: \a, \b, \f, \n, \r, \t, \v.
- Додана можливість вказівки Unicode-символів у форматі \uNNNN та \UNNNNNNNN.
- Додано новий оператор порівняння «===» («all_eq»), який спрацьовує тільки якщо у виразі «a === b» усі значення «a» збігаються з «b». Також доданий зворотний оператор "!==" ("any_ne").
- Оголошено застарілим оператор "~=", замість якого слід використовувати "!==".
- Заборонено використовувати числа із незакритою точкою, тобто. значення «.7» та «7.» тепер неприпустимі і замість них слід зазначати «0.7» та «7.0».
- Обробник регулярних виразів у движку дисплейних фільтрів переведений на бібліотеку PCRE2 замість GRegex.
- У рядках і шаблонах регулярних виразів реалізовано коректне оброблення нульових байтів ('\0' у рядку сприймається як нульовий байт).
- Крім 1 і 0 булеві значення, тепер також можуть записуватися як True/TRUE і False/FALSE.
- У модуль розбору (dissector) HTTP2 додано підтримку використання фіктивних заголовків для аналізу даних, перехоплених без попередніх пакетів із заголовками (наприклад, при аналізі повідомлень у вже встановлених з'єднаннях gRPC).
- У модуль аналізу IEEE 802.11 додана підтримка Mesh Connex (MCX).
- Забезпечено тимчасове запам'ятовування (без збереження на диску) пароля в діалозі Extcap, щоб не вводити його під час повторних запусків. Додано можливість встановлення пароля для extcap через утиліти командного рядка, такі як tshark.
- В утиліті ciscodump реалізована можливість віддаленого захоплення пристроїв на базі IOS, IOS-XE і ASA.
- Додано підтримку протоколів:
- 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 для 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).
- Підвищено вимоги до складального оточення (CMake 3.10) та залежностей (GLib 2.50.0, Libgcrypt 1.8.0, Python 3.6.0, GnuTLS 3.5.8).
Джерело: opennet.ru