В октябре .2022 Опубликован релиз новой стабильной ветки сетевого анализатора Wireshark 4.0.
Код проекта распространяется под лицензией 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».
В условных операторах реализована поддержка кванторов «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».