wireshark/docbook/release-notes.adoc

245 lines
11 KiB
Plaintext
Raw Normal View History

include::attributes.adoc[]
:stylesheet: ws.css
:linkcss:
:copycss: {stylesheet}
= Wireshark {wireshark-version} Release Notes
// Asciidoctor Syntax Quick Reference:
// https://asciidoctor.org/docs/asciidoc-syntax-quick-reference/
2020-10-22 19:13:21 +00:00
This is an experimental release intended to test new features for Wireshark 3.6.
== What is Wireshark?
Wireshark is the worlds most popular network protocol analyzer.
It is used for troubleshooting, analysis, development and education.
== Whats New
2021-11-12 10:11:25 +00:00
* The PCRE2 library (https://www.pcre.org/) is now a required dependency to build Wireshark.
Many improvements have been made.
See the “New and Updated Features” section below for more details.
// === Bug Fixes
// The following bugs have been fixed:
//* wsbuglink:5000[]
//* wsbuglink:6000[Wireshark bug]
//* cveidlink:2014-2486[]
2020-10-22 19:13:21 +00:00
//* Wireshark keeps banging out random chords on your piano and yelling “LIPS LIKE SUGUAR, SUGAR KISSES” because it was funny that one time at a party.
=== New and Updated Features
The following features are new (or have been significantly updated) since version 3.4.0:
2021-09-07 21:18:19 +00:00
* The Windows installers now ship with Npcap 1.55.
2021-06-26 09:55:34 +00:00
//They previously shipped with Npcap 1.31.
2020-12-14 18:44:35 +00:00
* A 64-bit Windows PortableApps package is now available.
* A macOS Arm 64 (Apple Silicon) package is now available.
* TCP conversations now support a completeness criteria, which facilitates the identification of TCP streams having any
of opening or closing handshakes, a payload, in any combination. It is accessed with the new tcp.completeness filter.
* Protobuf fields that are not serialized on the wire (missing in capture files) can now be displayed with default values
by setting the new 'add_default_value' preference. The default values might be explicitly declared in 'proto2' files,
or false for bools, first value for enums, zero for numeric types.
2021-05-30 08:58:14 +00:00
* Wireshark now supports reading Event Tracing for Windows (ETW). A new extcap named ETW reader is created that now can open an etl file,
convert all events in the file to DLT_ETW packets and write to a specified FIFO destination. Also, a new packet_etw dissector is
created to dissect DLT_ETW packets so Wireshark can display the DLT_ETW packet header, its message and packet_etw dissector
calls packet_mbim sub_dissector if its provider matches the MBIM provider GUID.
* "Follow DCCP stream" feature to filter for and extract the contents of DCCP streams.
* Wireshark now supports dissecting the rtp packet with OPUS payload.
* Importing captures from text files is now also possible based on regular expressions. By specifying a regex capturing a single
2021-08-20 09:38:05 +00:00
packet including capturing groups for relevant fields a textfile can be converted to a libpcap capture file. Supported data
encodings are plain-hexadecimal, -octal, -binary and base64.
Also the timestamp format now allows the second-fractions to be placed anywhere in the timestamp and it will be stored with
nanosecond instead of microsecond precision.
* Display filter literal strings can now be specified using raw string syntax,
identical to raw strings in the Python programming language. This is useful
to avoid the complexity of using two levels of character escapes with regular
expressions.
2021-05-30 08:58:14 +00:00
* Significant RTP Player redesign and improvements (see Wireshark User Documentation,
{wireshark-users-guide-url}ChTelPlayingCalls.html[Playing VoIP Calls] and
{wireshark-users-guide-url}_rtp.html#ChTelRtpPlayer[RTP Player Window])
** RTP Player can play many streams in row
** UI is more responsive
** RTP Player maintains playlist, other tools can add/remove streams to it
** Every stream can be muted or routed to L/R channel for replay
** Save audio is moved from RTP Analysis to RTP Player. RTP Player saves what was played. RTP Player can save in multichannel .au or .wav.
** RTP Player added to menu Telephony>RTP>RTP Player
* VoIP dialogs (VoIP Calls, RTP Streams, RTP Analysis, RTP Player, SIP Flows) are non-modal, can stay opened on background
2021-08-20 09:38:05 +00:00
** Same tools are provided across all dialogs (Prepare Filter, Analyse, RTP Player ...)
2021-08-27 17:17:38 +00:00
* Follow stream is now able to follow SIP calls based on their Call-ID value.
* Follow stream YAML output formats has been changed to add timestamps and peers information (for more details see the users guide,
{wireshark-users-guide-url}ChAdvFollowStreamSection.html[Following Protocol Streams])
2021-05-30 08:58:14 +00:00
* IP fragments between public IPv4 addresses are now reassembled even if they have different VLAN IDs. Reassembly of IP fragments
where one endpoint is a private (RFC 1918 section 3) or link-local (RFC 3927) IPv4 address continues to take the VLAN ID into
account, as those addresses can be reused. To revert to the previous behavior and not reassemble fragments with different VLAN IDs,
turn on the "Enable stricter conversation tracking heuristics" top level protocol preference.
2021-08-27 17:17:38 +00:00
* USB Link Layer reassembly has been added, which allows hardware captures to be analyzed at the same level as software captures.
* TShark can now export TLS session keys with the --export-tls-session-keys option.
* Wireshark participated in the Google Season of Docs 2020 and the Users Guide has been extensively updated.
2021-08-18 16:32:21 +00:00
* Format of export to CSV in RTP Stream Analysis dialog was slightly changed. First line of export contains names of columns as in other CSV exports.
* Wireshark now supports the Turkish language.
2021-08-18 16:32:21 +00:00
* The settings in the 'Import from Hex Dump' dialog is now stored in a profile import_hexdump.json file.
* Reload Lua plugins has been improved to properly support FileHandler.
* Display filter syntax:
** Protocols always parse unquoted strings as byte values. Before an expression such as "tcp contains ff.fg" would look for the string "ff.fg" if it does not
match a valid byte array specification. Now this is a syntax error. Use double-quotes to match literal strings.
** For string comparisons literal byte arrays are always interpreted as unquoted literal strings. This avoids unexpected results with embedded NUL bytes.
For example "http.user_agent contains aa:bb" tries to match "aa:bb". Avoid this usage, always use double-quotes: http.user_agent contains "\xaa\xbb".
dfilter: Require double-quoted strings with "matches" Matches is a special case that looks on the RHS and tries to convert every unparsed value to a string, regardless of the LHS type. This is not how types work in the display filter. Require double-quotes to avoid ambiguity, because matches doesn't follow normal Wireshark display filter type rules. It doesn't need nor benefit from the flexibility provided by unparsed strings in the syntax. For matches the RHS is always a literal strings except if the RHS is also a field name, then it complains of an incompatible type. This is confusing. No type can be compatible because no type rules are ever considered. Every unparsed value is a text string except if it happens to coincide with a field name it also requires double-quoting or it throws a syntax error, just to be difficult. We could remove this odd quirk but requiring double-quotes for regular expressions is a better, more elegant fix. Before: Filter: tcp matches "udp" Constants: 00000 PUT_PCRE udp -> reg#1 Instructions: 00000 READ_TREE tcp -> reg#0 00001 IF-FALSE-GOTO 3 00002 ANY_MATCHES reg#0 matches reg#1 00003 RETURN Filter: tcp matches udp Constants: 00000 PUT_PCRE udp -> reg#1 Instructions: 00000 READ_TREE tcp -> reg#0 00001 IF-FALSE-GOTO 3 00002 ANY_MATCHES reg#0 matches reg#1 00003 RETURN Filter: tcp matches udp.srcport dftest: tcp and udp.srcport are not of compatible types. Filter: tcp matches udp.srcportt Constants: 00000 PUT_PCRE udp.srcportt -> reg#1 Instructions: 00000 READ_TREE tcp -> reg#0 00001 IF-FALSE-GOTO 3 00002 ANY_MATCHES reg#0 matches reg#1 00003 RETURN After: Filter: tcp matches "udp" Constants: 00000 PUT_PCRE udp -> reg#1 Instructions: 00000 READ_TREE tcp -> reg#0 00001 IF-FALSE-GOTO 3 00002 ANY_MATCHES reg#0 matches reg#1 00003 RETURN Filter: tcp matches udp dftest: "udp" was unexpected in this context. Filter: tcp matches udp.srcport dftest: "udp.srcport" was unexpected in this context. Filter: tcp matches udp.srcportt dftest: "udp.srcportt" was unexpected in this context. The error message could still be improved.
2021-10-09 15:40:08 +00:00
** Regular expressions (using "matches" or "~") must be specified using character strings. It is a syntax error to omit the double-quotes around
the regular expression. Before the syntax rules of an unquoted regex string could be difficult to predict.
dfilter: Fix "!=" relation to be free of contradictions Wireshark defines the relation of equality A == B as A any_eq B <=> An == Bn for at least one An, Bn. More accurately I think this is (formally) an equivalence relation, not true equality. Whichever definition for "==" we choose we must keep the definition of "!=" as !(A == B), otherwise it will lead to logical contradictions like (A == B) AND (A != B) being true. Fix the '!=' relation to match the definition of equality: A != B <=> !(A == B) <=> A all_ne B <=> An != Bn, for every n. This has been the recomended way to write "not equal" for a long time in the documentation, even to the point where != was deprecated, but it just wasn't implemented consistently in the language, which has understandably been a persistent source of confusion. Even a field that is normally well-behaved with "!=" like "ip.src" or "ip.dst" will produce unexpected results with encapsulations like IP-over-IP. The opcode ALL_NE could have been implemented in the compiler instead using NOT and ANY_EQ but I chose to implement it in bytecode. It just seemed more elegant and efficient but the difference was not very significant. Keep around "~=" for any_ne relation, in case someone depends on that, and because we don't have an operator for true equality: A strict_equal B <=> A all_eq B <=> !(A any_ne B). If there is only one value then any_ne and all_ne are the same comparison operation. Implementing this change did not require fixing any tests so it is unlikely the relation "~=" (any_ne) will be very useful. Note that the behaviour of the '<' (less than) comparison relation is a separate, more subtle issue. In the general case the definition of '<' that is used is only a partial order.
2021-10-18 20:07:06 +00:00
** The expression "a != b" now always has the same meaning as !(a == b). In particular this means filter expressions with multi-value fields like
"ip.addr != 1.1.1.1" will work as expected (the result is the same as typing "ip.src != 1.1.1.1 and ip.dst != 1.1.1.1"). This avoids the
contradiction (a == b and a != b) being true.
** Use the syntax "a ~= b" or "a any_ne b" to recover the previous (inconsistent with ==) logic for not equal.
** Adds support for the syntax "a not in b" as a synonym for "not a in b".
** Set elements must be separated using a comma, e.g: {1, 2, "foo"}. Using only whitespace as separator was deprecated in 3.6 and is now a syntax error.
** Adds support for some additional character escape sequences in double quoted strings. Besides octal and hex byte specification the following C escape
sequences are now supported with the same meaning: \a, \b, \f, \n, \r, \t, \v. Previously they were only supported with character constants. Note that
unrecognized escape sequences are treated as a literal character. This has not changed from previous versions.
2021-11-12 10:11:25 +00:00
** The display filter engine now uses PCRE2 instead of GRegex (GLib bindings to the older end-of-life PCRE library). PCRE2 is compatible with PCRE so
the user-visible changes should be minimal. Some exotic patterns may now be invalid and require rewriting.
* Corrected calculation of mean jitter in RTP Stream Analysis dialog and IAX2 Stram Analysis dialog
* RTP streams are created based on Skinny protocol messages
* Flow sequence shows more infor about various Skinny messages
// === Removed Features and Support
// === Removed Dissectors
=== New File Format Decoding Support
[commaize]
--
Vector Informatik Binary Log File (BLF)
--
=== New Protocol Support
2020-10-22 19:13:21 +00:00
// Add one protocol per line between the -- delimiters in the format
// "Full protocol name (Abbreviation)"
Switch from AsciiDoc to Asciidoctor. Switch the markup text processor for files in the docbook directory from AsciiDoc to Asciidoctor. Asciidoctor has several useful features (such as direct PDF output) and is actively developed. It's written in Ruby but that dependency can be sidestepped with AsciidoctorJ, a self-contained bundle that only depends on the JRE. The current toolchain targets require Python, AsciiDoc, DocBook XML, DocBook XSL, Java, FOP, xsltproc, lynx, and the HTMLHelp compiler: HTML: AsciiDoc → DocBook XML → xsltproc + DocBook XSL Chunked HTML: AsciiDoc → DocBook XML → xsltproc + DocBook XSL PDF: AsciiDoc → DocBook XML → xsltproc + DocBook XSL → FOP HTMLHelp: AsciiDoc → DocBook XML → xsltproc + DocBook XSL → HHC This change removes the AsciiDoc and FOP requirements and adds either AsciidoctorJ or Asciidoctor + Ruby: HTML: Asciidoctor → DocBook XML → xsltproc + DocBook XSL Chunked HTML: Asciidoctor → DocBook XML → xsltproc + DocBook XSL PDF: Asciidoctor HTMLHelp: Asciidoctor → DocBook XML → xsltproc + DocBook XSL → HHC Ideally we could generate all of these using AsciidoctorJ, Java, and lynx. Unfortunately we're not there yet. The release notes depend on several macros (ws-buglink, ws-salink, cve-idlink, sort-and-group). Add Asciidoctor (Ruby) equivalents. Remove the BUILD_xxx_GUIDES CMake options and add various output targets automatically. This means that you have to build the various documentation targets explicitly. Change-Id: I31930677a656b99b1c6839bb6c33a13db951eb9a Reviewed-on: https://code.wireshark.org/review/25668 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Gerald Combs <gerald@wireshark.org>
2017-10-19 22:03:55 +00:00
[commaize]
--
Allied Telesis Loop Detection Frames (AT LDF)
Bluetooth Link Manager Protocol (BT LMP)
Bundle Protocol version 7 (BPv7)
Bundle Protocol version 7 Security (BPSec)
CBOR Object Signing and Encryption (COSE)
DTN TCP Convergence Layer version 4 (TCPCLv4)
E2 Application Protocol (E2AP)
Event Tracing for Windows (ETW)
2021-07-06 10:13:53 +00:00
High-Performance Connectivity Tracer (HiPerConTracer)
ISO 10681
Kerberos SPAKE
Linux psample protocol
Local Interconnect Network (LIN)
Microsoft Task Scheduler Service
O-RAN E2AP
O-RAN fronthaul UC-plane (O-RAN)
Opus Interactive Audio Codec (OPUS)
PDU Transport Protocol
R09.x (R09)
RDP Dynamic Channel Protocol (DRDYNVC)
Real-Time Publish-Subscribe Virtual Transport (RTPS-VT)
Real-Time Publish-Subscribe Wire Protocol (processed) (RTPS-PROC)
Shared Memory Communications (SMC)
Signal PDU
SparkplugB
State Synchronization Protocol (SSyncP)
Tagged Image File Format (TIFF)
TP-Link Smart Home Protocol
UAVCAN/CAN
UAVCAN DSDL
Van Jacobson PPP compression (VJC)
World of Warcraft World (WOWW)
Host IP Configuration Protocol (HICP)
Secure Host IP Configuration Protocol (SHICP)
--
=== Updated Protocol Support
Too many protocols have been updated to list here.
=== New and Updated Capture File Support
// There is no new or updated capture file support in this release.
// Add one file type per line between the -- delimiters.
Switch from AsciiDoc to Asciidoctor. Switch the markup text processor for files in the docbook directory from AsciiDoc to Asciidoctor. Asciidoctor has several useful features (such as direct PDF output) and is actively developed. It's written in Ruby but that dependency can be sidestepped with AsciidoctorJ, a self-contained bundle that only depends on the JRE. The current toolchain targets require Python, AsciiDoc, DocBook XML, DocBook XSL, Java, FOP, xsltproc, lynx, and the HTMLHelp compiler: HTML: AsciiDoc → DocBook XML → xsltproc + DocBook XSL Chunked HTML: AsciiDoc → DocBook XML → xsltproc + DocBook XSL PDF: AsciiDoc → DocBook XML → xsltproc + DocBook XSL → FOP HTMLHelp: AsciiDoc → DocBook XML → xsltproc + DocBook XSL → HHC This change removes the AsciiDoc and FOP requirements and adds either AsciidoctorJ or Asciidoctor + Ruby: HTML: Asciidoctor → DocBook XML → xsltproc + DocBook XSL Chunked HTML: Asciidoctor → DocBook XML → xsltproc + DocBook XSL PDF: Asciidoctor HTMLHelp: Asciidoctor → DocBook XML → xsltproc + DocBook XSL → HHC Ideally we could generate all of these using AsciidoctorJ, Java, and lynx. Unfortunately we're not there yet. The release notes depend on several macros (ws-buglink, ws-salink, cve-idlink, sort-and-group). Add Asciidoctor (Ruby) equivalents. Remove the BUILD_xxx_GUIDES CMake options and add various output targets automatically. This means that you have to build the various documentation targets explicitly. Change-Id: I31930677a656b99b1c6839bb6c33a13db951eb9a Reviewed-on: https://code.wireshark.org/review/25668 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Gerald Combs <gerald@wireshark.org>
2017-10-19 22:03:55 +00:00
[commaize]
--
Vector Informatik Binary Log File (BLF)
--
// === New and Updated Capture Interfaces support
//_Non-empty section placeholder._
// === Major API Changes
== Getting Wireshark
Wireshark source code and installation packages are available from
https://www.wireshark.org/download.html.
=== Vendor-supplied Packages
2020-09-15 20:56:25 +00:00
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
https://www.wireshark.org/download.html[download page]
on the Wireshark web site.
== File Locations
2020-09-15 20:56:25 +00:00
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 menu:Help[About Wireshark,Folders] or `tshark -G folders` to find the default locations on your system.
== Getting Help
2020-09-15 20:56:25 +00:00
The Users Guide, manual pages and various other documentation can be found at
https://www.wireshark.org/docs/
2020-09-15 20:56:25 +00:00
Community support is available on
https://ask.wireshark.org/[Wiresharks Q&A site]
2020-09-15 20:56:25 +00:00
and on the wireshark-users mailing list.
Subscription information and archives for all of Wiresharks mailing lists can be found on
https://www.wireshark.org/lists/[the web site].
2020-09-15 20:56:25 +00:00
Bugs and feature requests can be reported on
https://gitlab.com/wireshark/wireshark/-/issues[the issue tracker].
// Official Wireshark training and certification are available from
// https://www.wiresharktraining.com/[Wireshark University].
== Frequently Asked Questions
A complete FAQ is available on the
https://www.wireshark.org/faq.html[Wireshark web site].