wireshark/NEWS

277 lines
11 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Wireshark 4.3.0 Release Notes
This is an experimental release intended to test new features for
Wireshark 4.4.
What is Wireshark?
Wireshark is the worlds most popular network protocol analyzer. It is
used for troubleshooting, analysis, development and education.
Whats New
Improved display filter support for value strings (optional string
representations for numeric fields).
Display filter functions can be implemented as runtime-loadable C
plugins.
Plugin registration API was refactored. Plugin authors must update
their plugins as described below.
Custom columns can be defined using any valid field expression, such
as display filter functions, slices, arithmetic calculations, logical
tests, raw byte addressing, and the layer modifier.
Many other improvements have been made. See the “New and Updated
Features” section below for more details.
New and Updated Features
The following features are new (or have been significantly updated)
since version 4.2.0:
• Display filter syntax-related enhancements:
• Better handling of comparisons with value strings. Now the
display filter engine can correctly handle cases where multiple
different numeric values map to the same value string, including
but not limited to range-type value strings.
• Fields with value strings now support regular expression
matching.
• Date and time values now support arithmetic, with some
restrictions: the multiplier/divisor must be an integer or float
and appear on the right-hand side of the operator.
• The keyword "bitand" can be used as an alternative syntax for
the bitwise-and operator.
• Functions alone can now be used as an entire logical
expression. The result of the expression is the truthiness of the
function return value (or of all values if more than one). This
is useful for example to write "len(something)" instead of
"len(something) != 0". Even more so if a function returns itself
a boolean value, it is now possible to write
"bool_test(some.field)" instead of having to write
"bool_test(some.field) == True" (both forms are now valid).
• Display filter references can be written without curly braces.
It is now possible to write `$frame.number` instead of
`${frame.number}` for example.
• Added new display filter functions to test various IP address
properties. Check the wireshark-filter(5) manpage for more
information.
• Added new display filter functions to convert unsigned integer
types to decimal or hexadecimal. Check the wireshark-filter(5)
manpage for more information.
• Display filter macros can be written with a semicolon after
the macro name before the argument list, e.g.
`${mymacro;arg1;…​;argN}`, instead of `${mymacro:arg1;…​;argN}`.
The version with semicolons works better with pop-up suggestions
when editing the display filter, so the version with the colon
might be removed in the future.
• Display filter macros can be written using a function-like
notation. The macro `${mymacro:arg1;…​;argN}` can be written
`$mymacro(arg1,…​,argN)`.
• Display filter functions can be implemented as libwireshark
plugins. Plugins are loaded during startup from the usual binary
plugin configuration directories. See the `ipaddr.c` source file
in the distribution for an example of a display filter C plugin
and the doc/plugins.example folder for generic instructions how
to build a plugin.
• Display filter autocompletions now also include display filter
functions.
• The display filter macro configuration file has changed format.
It now uses the same format as the "dfilters" file and has been
renamed accordingly to "dmacros". Internally it no longer uses
the UAT API and the display filter macro GUI dialog has been
updated. There is some basic migration logic implemented but it
is advisable to check that the "dfilter_macros" (old) and
"dmacros" (new) files in the profile directory are consistent.
• Custom columns can be defined using any valid field expression:
• Display filter functions, like `len(tcp.payload)`, including
nested functions like `min(len(tcp.payload), len(udp.payload)`
and newly defined functions using the plugin system mentioned
above. Issue 15990[1] Issue 16181[2]
• Arithmetic calculations, like `ip.len * 8` or `tcp.srcport +
tcp.dstport`. Issue 7752[3]
• Slices, like `tcp.payload[4:4]`. Issue 10154[4]
• The layer operator, like `ip.proto#1` to return the proto
field in the first IPv4 layer if there is tunneling. Issue
18588[5]
• Raw byte addressing, like `@ip`, useful to return the bytes of
a protocol or FT_NONE field, among others. Issue 19076[6]
• Logical tests, like `tcp.port == 443`, which produce a check
mark if the test matches (similar to protocol and none fields
without `@`.) This works with all logical operators, including
e.g. regular expression matching (`matches` or `~`.)
• Defined display filter macros.
• Any combination of the above also works.
• Multifield columns are still available. For backwards
compatibility, `X or Y` is interpreted as a multifield column as
before. To represent a logical test for the presence of multiple
fields instead of concatenating values, use parenthesis, like
`(tcp.options.timestamp or tcp.options.nop`.
• Field references are not implemented, because theres no sense
of a currently selected frame. "Resolved" column values (such as
host name resolution or value string lookup) are not supported
for any of the new expressions yet.
• When selecting "Manage Interfaces" from "Capture Options",
Wireshark only attempts to reconnect to rpcap (remote) hosts that
were connected to in the last session, instead of every remote
host that the current profile has ever connected to. Issue
17484[7]
• Adding interfaces at startup is about twice as fast, and has many
fewer UAC pop-ups when npcap is installed with access restricted
to Administrators on Windows
• The Resolved Addresses dialog only shows what addresses and ports
are present in the file (not including information from static
files), and selected rows or the entire table can be saved or
copied to the clipboard in several formats.
• New "Tools Install Plugin" option provides a convenient method
to install a binary plugin to the personal folder.
• The personal binary plugins folder now has higher priority than
the global folder.
• The binary plugins folder path no longer uses an X.Y version
component. Plugins are required to add the ABI version to the
file name.
• Truncated fields in the detail view are now displayed as "Field
name […]: data" instead of "Field name [truncated]: data"
• When capturing files in multiple file mode, a pattern that places
the date and time before the index number can be used (e.g.,
foo_20240714110102_00001.pcap instead of
foo_00001_20240714110102.pcap). This causes filenames to sort in
chronological order across file sets from different captures. The
File Set dialog has been updated to handle the new pattern, which
has been capable of being produced by tshark since version 3.6.0
• The "Follow Stream" dialog can now show delta times between turns
and all packets and events.
Removed Features and Support
• The tshark `-G` option with no argument is deprecated and will be
removed in a future version. Use `tshark -G fields` to produce
the same report.
Removed Dissectors
The Parlay dissector has been removed.
New Protocol Support
Allied Telesis Resiliency Link (AT RL), EGNOS Message Server (EMS)
file format, MAC NR Framed (mac-nr-framed), RF4CE Network Layer
(RF4CE), and RF4CE Profile (RF4CE Profile)
Updated Protocol Support
• IPv6: The "show address detail" preference is now enabled by
default. The address details provided have been extended to
include more special purpose address block properties
(forwardable, globally-routable, etc).
Too many other protocol updates have been made to list them all here.
EGNOS Messager Server (EMS) files
u-blox GNSS receivers
Major API Changes
• Plugin registration API was refactored. Plugin authors must do
the following: 1 - Remove the existing boilerplate (version,
want_major` and `want_minor` and plugin API declarations. 2 - Add
a struct ws_module to the plugin. 3 - Call one of the
WIRESHARK_PLUGIN_REGISTER_* macros. See README.plugins sections 5
and doc/plugins.example/hello.c for details and examples.
Getting Wireshark
Wireshark source code and installation packages are available from
https://www.wireshark.org/download.html.
Vendor-supplied Packages
Most Linux and Unix vendors supply their own Wireshark packages. You
can usually install or upgrade Wireshark using the package management
system specific to that platform. A list of third-party packages can
be found on the download page[8] on the Wireshark web site.
File Locations
Wireshark and TShark look in several different locations for
preference files, plugins, SNMP MIBS, and RADIUS dictionaries. These
locations vary from platform to platform. You can use "Help About
Wireshark Folders" or `tshark -G folders` to find the default
locations on your system.
Getting Help
The Users Guide, manual pages and various other documentation can be
found at https://www.wireshark.org/docs/
Community support is available on Wiresharks Q&A site[9] and on the
wireshark-users mailing list. Subscription information and archives
for all of Wiresharks mailing lists can be found on the web site[10].
Bugs and feature requests can be reported on the issue tracker[11].
You can learn protocol analysis and meet Wiresharks developers at
SharkFest[12].
How You Can Help
The Wireshark Foundation helps as many people as possible understand
their networks as much as possible. You can find out more and donate
at wiresharkfoundation.org[13].
Frequently Asked Questions
A complete FAQ is available on the Wireshark web site[14].
References
1. https://gitlab.com/wireshark/wireshark/-/issues/15990
2. https://gitlab.com/wireshark/wireshark/-/issues/16181
3. https://gitlab.com/wireshark/wireshark/-/issues/7752
4. https://gitlab.com/wireshark/wireshark/-/issues/10154
5. https://gitlab.com/wireshark/wireshark/-/issues/18588
6. https://gitlab.com/wireshark/wireshark/-/issues/19076
7. https://gitlab.com/wireshark/wireshark/-/issues/17484
8. https://www.wireshark.org/download.html
9. https://ask.wireshark.org/
10. https://www.wireshark.org/lists/
11. https://gitlab.com/wireshark/wireshark/-/issues
12. https://sharkfest.wireshark.org
13. https://wiresharkfoundation.org
14. https://www.wireshark.org/faq.html