Commit Graph

313 Commits

Author SHA1 Message Date
Brian Sipos abd0f1183f COSE dissector from dtn-wireshark project 2021-09-29 08:51:13 +00:00
David Fort aae500d32b add RDP multi-transport dissector
This patch adds decoding of RDP multi-transport according to MS-RDPEMT, transported
on top of RDP UDP.
2021-09-07 08:13:57 +00:00
David Fort 8a1649c5a5 rdpudp: dissect the RDP UDP protocol
This patch adds a dissector to analyze the RDP UDP protocol according
to MS-RDPEUDP and MS-RDPEUDP2.
2021-09-07 08:13:57 +00:00
Dr. Lars Völker e446bbc3e7 ISO10681: Adding support for ISO10681 (FlexRay ISO TP)
This patch adds support for the ISO 10681-2 protocol, which is similar
to the ISO 15765-2 protocol (see packet-iso15765.c).

This patch also add support for registering combined FlexRay IDs to
register the new dissector.
2021-08-31 07:37:59 +00:00
Dr. Lars Völker 2c543f999b DoIP/ISO15765/UDS: Passing addresses to UDS to refine lookup
This patch adds support to DoIP and ISO15765 to pass the diagnostic
address or addresses to UDS. UDS takes the relevant address into account
for the data identifier and routine identifier name resolution.
2021-08-30 16:10:55 +00:00
Jörg Mayer c8656a2dcb New dissector for EXOS internal capture extra header 2021-08-29 14:11:34 +00:00
Michael Tuexen b17f354304 Add initial support for BBLog files 2021-08-27 04:48:21 +02:00
Thomas Dreibholz a104403dad
Added HiPerConTracer dissector. 2021-08-19 16:13:15 +02:00
Gtker e1b3796419 WOWW: Add protocol
The protocol is a continuation of the WOW protocol occuring between the
world server and the client (as opposed to the login server and the
client).

The first two opcodes are unencrypted and perform setup for the
encryption.
The encryption was setup in the WOW protocol through SRP6.
Using the session key for encryption like this is not part of the SRP6
protocol.
All other opcodes are encrypted using the session key, which will need
to be deduced first.
2021-07-20 20:46:57 +00:00
Dr. Lars Völker 796819c955 BLF: Support for BLF file format
This patch adds first support for the BLF file format.
2021-07-16 07:37:43 +00:00
Dr. Lars Völker 95dc4f52bc LIN: Adding support for LIN dissection
This patch adds support for LIN (Local Interconnect Network) as
well as support for:
- Signal PDUs on LIN
- ISO 15765 (ISO TP) on LIN
- TECMP transported LIN is handle like LIN

LIN is a simple automotive fieldbus to connect for example simple
sensors and actuators to an electronic control unit.
2021-07-14 09:31:06 +00:00
David Fort e43d26b39e rdp: many improvements and fixes
This big patch addresses the following items:

* implement the "message" virtual channel so that multi-transport and bandwidth
PDUs are dissected;
* prepare the identification of static channels to be able to dissect them later;
* fix the compression field in channelPDUHeader.channelFlags;
* implement the drdynvc channel dissector, so now we decode the traffic on this
channel and we're able to track data on dynamic channels and transition to UDP
transport
2021-06-15 08:42:47 +00:00
Martin Mathieson 3248e2a759 Add E2AP ORAN 1.00 dissector 2021-05-25 13:29:47 +01:00
Graham Bloice f6ad4812a2 Add SparkplugB dissector
Add a dissector for SparkplugB as a heuristic subdissector of MQTT
and which calls protobuf to dissect the messages payload.
2021-05-14 12:11:03 +01:00
Tomas Kukosa a84d08734b R09: new dissector for R09.x public transport priority telegrams 2021-05-06 14:09:39 +00:00
Alex Sirr 17ae0f6be2 DCERPC - Add dissector for ITaskSchedulerService 2021-04-27 20:11:59 +00:00
Luis Colmenero 3cdbbcdfb9 RTPS-VT: New dissector to enhance the RTPS protocol
Added dissectors for RTPS Virtual Transport and RTPS Processed Protocols

RTI Connext DDS can capture RTPS-related traffic by using the Network Capture
Utility. The generated .pcap capture files will follow these protocols,
establishing a format for how information must be saved, and then
parsed. This will improve debuggability by including additional information
obtained from within Connext DDS.

RTPS-VT parses the information related to the transport. It then, calls
the RTPS-PROC dissector, which handles the rest: calling the RTPS
dissector when needed, and parsing additional information such as the
one related to security.
2021-04-27 06:15:42 +00:00
Daniel Dulaney e35efdee8d TIFF: Add a basic TIFF dissector 2021-04-24 10:42:59 +00:00
Peter van der Perk 4959ae652e UAVCAN/CAN dissector see https://uavcan.org/ 2021-04-21 19:36:44 +00:00
Gerald Combs 6341257fae BT BR/EDR RF: Move common code to a header file.
The BT LMP dissector calls btbredr_rf_add_esco_link and
btbredr_rf_remove_esco_link. Move their prototypes and required struct
definitions to a header file.
2021-04-17 06:34:29 +00:00
Lingao Meng fb8b1a4098 Mibeacon: Unauthorized addition, application withdrawn. 2021-04-14 14:58:18 +00:00
Meng Lingao 81a055b78c MiBeacon: Add dissector for xiaomi bluetooth protocol 2021-04-14 08:27:35 +00:00
Dr. Lars Völker df46a52174 NEW: Dissector for signal PDUs
This patch adds a dissector for PDUs based on signals. On CAN,
FlexRay, etc. data is transported in PDUs that are based on
signals. These signals are typically an arbitrary number of bits.

This dissector allows:
- Parsing configured signals (shortened datatypes too)
- Scaling and moving signals values (compu scale)
- Naming signal values (compu consts)
- Filtering on the scaled and raw value

The dissector supports:
- Signal PDUs over CAN
- Signal PDUs over FlexRay
- Signal PDUs over SOME/IP
- Signal PDUs over PDU-Transport
2021-03-25 10:53:57 +00:00
Amit Cohen 146578889e packet-netlink-psample: Add dissector for psample netlink packets
The Linux kernel includes a module called psample which sends sampled
packets to user-space over generic netlink.

This patch adds a dissector for these netlink packets.
The dissector is expected to be invoked by the generic netlink dissector and
during its hand off routine it adds an entry in the 'genl.family' dissector
table.

The various netlink attributes are dissected by calling
dissect_netlink_attributes(), in a similar fashion to the rtnetlink and
net_dm dissectors. The sampled packet itself is encoded in the netlink
attribute 'PSAMPLE_ATTR_DATA' and dissected by invoking a dissector from the
'sll.ltype' dissector table based on the packet's protocol which is
encoded in the 'PSAMPLE_ATTR_PROTO' attribute.

Signed-off-by: Amit Cohen <amcohen@nvidia.com>
2021-03-22 13:39:36 +00:00
João Valverde 7f105d3981 CMake: Use CheckAPI's abort/termoutput with dissectors only
I believe this was the original intention, to use these API restricitons
with dissectors only (not that I necessarily agree with that policy either),
and through copy-paste and lack of clear guidelines it spread to other
parts of the build.

Rename the checkAPI groups to make it very clear that this is dissector-only.

This doesn't mean, of course, that good programming practices shouldn't be
followed everywhere. In particular assertions need to be used properly.
Don't use them to catch runtime errors or validate input data.

This commit will be followed by another removing the various ugly hacks
people have been using to get around the checkAPI hammer.
2021-03-01 20:59:39 +00:00
Lin Sun 26b602a7ae [dissector] add dissector for OPUS packet support
*packet-opus.c: dissector for OPUS packet.
2021-03-01 09:11:34 +00:00
Thomas Dreibholz 23a5ebf2d9 ASAP+ENRP dissector clean-ups.
Moved common definitions and value strings from ASAP and ENRP dissectors
into separate files packet-asap+enrp-common.h/packet-asap+enrp-common.c.
2021-02-28 08:59:31 +00:00
Gerald Combs 4fd5224ecf CMake: Use target_include_directores more.
The include_directories documentation at
https://cmake.org/cmake/help/latest/command/include_directories.html
says:

"Note: Prefer the target_include_directories() command to add include
 directories to individual targets and optionally propagate/export them
 to dependents."

Switch from include_directories to target_include_directories in a bunch
of places.

Add "SYSTEM" to the remaining external include_directories calls in
order to minimize our compiler warning blast radius.
2021-02-18 06:34:46 +00:00
David Perry 23a5f6a177 Support Van Jacobson PPP compression (#12138)
A complete dissector for Van Jacobson PPP header compression:
<ftp://ftp.rfc-editor.org/in-notes/rfc1144.pdf>

This dissector was created solely by reading the description of the
protocol in section 3.2 of RFC 1144. In particular, I did *not* read the
sample implementation of the RFC in its Appendix A, due to the
questionable legality of using code with "All rights reserved" in
Wireshark. See #12138 for details.

Closes #12138.
2021-02-16 08:44:41 +00:00
Gerald Combs 270c8ed746 CMake: Make sure system headers are treated as such.
Use target_include_directories instead of include_directories in a few
places as recommended at

https://cmake.org/cmake/help/latest/command/include_directories.html

Doing so lets us mark a bunch of dependency includes SYSTEM PRIVATE, in
particular LIBXML2_INCLUDE_DIRS. On macOS this keeps us from triggering
the nullability warnings described at

https://www.wireshark.org/lists/wireshark-dev/202004/msg00056.html

(This might also keep the Visual Studio code analyzer from complaining
about various Qt headers, but I haven't tested this.)
2021-02-15 08:31:08 +00:00
Guy Harris 1cbafa47b9 wiretap: add a mechanism for built-in modules to have a register routine.
Currently, only pcapng has one, and it does nothing, but this mechanism
will be used more in the future.

Update comments in epan/dissectors/CMakeLists.txt and ui/taps.h while
we're at it.
2021-02-06 17:54:19 -08:00
Thomas Sailer 76abe23f6d Bluetooth BR/EDR RF: header decoding according to specification
According to the LINKTYPE_BLUETOOTH_BREDR_BB Packet Structure specification
(http://www.whiterocker.com/bt/LINKTYPE_BLUETOOTH_BREDR_BB.html), the
Bluetooth header should be formatted according to the Bluetooth
specification Volume 2, Part B, Section 6.4. However, right now
wireshark expects the header to be in a weird format,
specifically it expects the header fields to be MSB but the bits
within each header field to be LSB. (Bluetooth standard is all
LSB). Furthermore, it computes the HEC (header check, i.e. the header
CRC) with 4 bits arbitrarily masked.

This patch decodes the header according to the spec. It still accepts
the old format (if the broken HEC matches), and displays a warning.
2021-01-27 06:23:52 +00:00
Fulko Hew bc530a355d Added dissector for TP-Link SmartHome protocol 2021-01-24 08:48:06 +00:00
Dr. Lars Völker 8203e10488 SOME/IP: Fix subdissector support
Until now writing subdissectors for SOME/IP was not really possible.
While you could register for messages, the subdissector did not know
which message it was called for.

This patch fixes the subdissector support of SOME/IP by:
- adding header file to CMakeLists (was missing)
- creating a "data" struct so that subdissectors know what they dissect
- passing this "data" struct to the subdissector
2021-01-16 07:26:08 +00:00
Dario Lombardo 19a048157d rtps: merge all dissector pieces into a single file.
packet-rtps.h and packet-rtps-utils.c have been merged into the one
dissector packet-rtps.c.
All the functions have been made static.
Forward declarations have been removed if not needed.

Fix: #17113.
2020-12-30 13:40:01 +00:00
Dr. Lars Völker e8ebebe860 Adding dissector for PDU-Transport
This patch adds a new dissector for PDU-Transport. This is a very
simple protocol to transport CAN, FlexRay, LIN, and other PDUs.
It is typically used to transport legacy messages/PDUs over Ethernet.
The format is compatible to FDN and AUTOSAR.

Enabled AUTOSAR NM on top of the PDU Transport and fixed a few bugs
in AUTOSAR NM as well (length parsing).

Solves #17095
2020-12-24 06:05:27 +00:00
Pascal Quantin 6deafe8afa F1AP: upgrade dissector to v16.3.1 2020-12-16 21:58:11 +01:00
Martin Mathieson 5a36793c84 O-RAN fronthaul UC-plane dissector
Also modified eCPRI dissector to call it for payloads.  This dissector will
claim the "IQ Data" and "Real-Time Control Data" message types - others
are still handled by eCPRI.
2020-12-11 13:58:43 +00:00
Odysseus Yang 2a5b34d8b0 MBIM: Update dissector to support DLT_ETW
New link type DLT_ETW is added for write and read Event Trace on Windows.
This change updates MBIM dissector to decode a MBIM message from
a DLT_ETW packet.
2020-12-02 09:05:11 +00:00
Jann Horn 0a3eba683d ssyncp: Add new dissector
Add a dissector for mosh's State Synchronization Protocol.
2020-12-01 08:55:19 +00:00
Guvenc Gulce 07d77dd5b1 SMC: Add support for SMCD(v2)
Add SMCD(v2) clc proposal/accept/confirm and decline support.
Proposal and decline parsing routines are used by SMC-R and SMC-D(v2).

Enhance the existing SMC-R protocol dissector in such
a generic way that it supports both SMC-R and SMC-D(v2)
protocols. These two protocols are similar to each other.
SMC-D has a version 1 and version 2.

Signed-off-by: Guvenc Gulce <guvenc@linux.ibm.com>
2020-11-30 13:27:58 +00:00
John Bankier 3632642980 SMB: Dissection of Dynamic Access Control specific ACEs
Added dissection for Dynamic Access Control (DAC) specific ACEs.
These are Conditional ACEs, System Resource Attribute ACEs and System
Scoped Policy ID ACEs.

A Condition ACE must be one of the following types:
    ACE_TYPE_ACCESS_ALLOWED_CALLBACK
    ACE_TYPE_ACCESS_DENIED_CALLBACK
    ACE_TYPE_ACCESS_ALLOWED_CALLBACK_OBJECT
    ACE_TYPE_ACCESS_DENIED_CALLBACK_OBJECT
    ACE_TYPE_SYSTEM_AUDIT_CALLBACK
    ACE_TYPE_SYSTEM_AUDIT_CALLBACK_OBJECT

Such an ACE may include a conditional expression (that will, if
present, be evaluated to determine whether or not the ACE allows or
denies access). If a conditional expression is present the ACE data
will start with the string "artx". The remainder of the ACE data will
be the conditional expression which is simply a list of tokens
(see MS-DTYP for details of each token type). With this change,
filter "nt.ace.cond" can be used to find packets containing one or
more Conditional ACEs and their details are dissected.

A System Resource Attribute ACE has a name, value type and a list of
values. The value types are: INT64, UINT64, STRING, SID, BOOLEAN and
OCTET_STRING (i.e. binary data). With this change, filter "nt.ace.sra"
can be used to find packets containing one or more System Resource
Attribute ACEs and their details are dissected.

System Scoped Policy ID is simply a new ACE type and it does not
require any new dissection. The SID associated with a System Scoped
Policy ID ACE will start with S-1-17 and identifies the "Central
Access Policy" that should be used.
2020-11-06 18:52:04 +00:00
Jamie Hare cf83a67fd3 IPPUSB Protocol
Added a dissector to reassemble IPP Over USB packets and pass them to
the HTTP dissector. Added a display filter so IPPUSB packets can be
filtered. Dissector checks to ensure semgent is IPPUSB and supports
reassembly of send-documents and print-job documents. It also supports
the reassembly and dissection of packets that are truncted or
incomplete.

Change-Id: Icc9525592c07b00baaac887a70bc9e7568273016
2020-10-16 08:49:48 +00:00
Rene Nielsen b3099a839f New dissector: Added support for IEEE 802.1CB R-Tags (EtherType 0xF1C1) 2020-10-15 13:51:51 +02:00
Uli Heilmeier 557a64d9a9 MC-NMF/MS-NNS: New dissector .NET Message Framing Protocol
New dissector for MC-NMF (.NET Message Framing Protocol) and
MS-NNS (.NET NegotiateStream Protocol).

TLS implementation is not tested due to the lack of a sample capture.

Fixes: wireshark/wireshark#16861
2020-10-06 07:15:55 +02:00
Pascal Quantin aeb68eb68c X2AP: upgrade dissector to v16.3.0 2020-10-05 13:25:02 +02:00
Maxim Kropp e5921672f8 New dissector: ILDA Digital Network (IDN) Protocol
Stream Specification: https://www.ilda.com/resources/StandardsDocs/ILDA_IDN-Stream_rev001.pdf

The stream specification only defines IDN messages. The other packet commands
like ping request, ping response, etc. (see line 25 - 31 in packet-idn.c)
are part of the hello specification which is not released yet. We were still
able to implement some hello packets since we received a preliminary version
of the hello specification, because we need the hello packets for our work.

related to #16707
2020-09-17 19:55:52 +00:00
Christian Kreibich c5d5023654 A Community ID implementation for Wireshark.
This adds a protocol post-dissector for Community ID support to
Wireshark/tshark: https://github.com/corelight/community-id-spec

The protocol is disabled by default. It establishes one new filter
value, "communityid".

Includes test cases and baselines to verify correct Community ID
strings based on similar testsuites in the existing Zeek and Python
implementations.
2020-09-16 09:25:38 -07:00
Pascal Quantin 291c836392 F1AP: upgrade dissector to v16.2.0 2020-09-05 13:32:33 +02:00
Gerald Combs 7ab6440416 Tools: Clean up checkAPI and add ui/qt.
Remove the --check-addtext and --build flags. They were used for
checkAddTextCalls, which was removed in e2735ecfdd.

Add the sources in ui/qt except for qcustomplot.{cpp,h}. Fix issues in
main.cpp, rtp_audio_stream.cpp, and wireshark_zip_helper.cpp.

Rename "index"es in packet-usb-hid.c.
2020-09-05 07:41:29 +00:00