wireshark/test/captures
Peter Wu b641febb1e TLS: Implement reassembly for Handshake messages
Lack of handshake reassembly caused Certificate handshake messages to be
reported as "Encrypted Handshake Messages" and broke decryption in some
cases. Fix this by properly tracking handshake fragments and delay
dissection until all fragments are available.

Now when a fragmented Handshake message is found:

* The first fragment will have "(fragmented)" appended to the record
  tree item as well as the "Handshake Protocol" item.
* "Reassembled Handshake Message in frame: X" is added for fragments.
* The last reassembled handshake message will be displayed together with
  a fragment list.

Note: Previously, handshake records with a message length larger than
the available data was assumed to be encrypted. This restriction had to
be lifted, but can now cause false positives (reporting encrypted data
as unencrypted handshake fragments).

The provided capture is not minimal but should be comprehensive as it is
generated with randomly sized TLS record and TCP segment lengths using
`./tls-handshake-fragments.py hs-frag.pcap --seed=1337 --count=100` and
https://git.lekensteyn.nl/peter/wireshark-notes/tree/crafted-pkt/tls-handshake-fragments.py
(A copy of this script is attached to bug 3303.)

Bug: 3303
Bug: 15537
Bug: 15625
Change-Id: I779925aba30548a76c20e0e37b39d01d2c88a764
Reviewed-on: https://code.wireshark.org/review/32857
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2019-04-24 21:02:35 +00:00
..
arp.pcap Test: Add dftest to our tests. 2018-05-04 22:44:32 +00:00
c1222_std_example8.pcap
dhcp-nanosecond.pcap
dhcp-nanosecond.pcapng
dhcp.pcap
dhcp.pcapng
dhe1.pcapng.gz
dmgr.pcapng
dns+icmp.pcapng.gz
dns-ooo.pcap tcp: fix OoO reassembly when the first data packet is OoO 2018-08-30 04:07:01 +00:00
dns_port.pcap
dtls12-aes128ccm8-dsb.pcapng DTLS: add DSB support, use the key log file from the TLS dissector 2019-01-17 21:33:25 +00:00
dtls12-aes128ccm8.pcap
dvb-ci_UV1_0000.pcap
empty.pcap
esp-bug-12671.pcapng.gz
http-brotli.pcapng Add brotli decompression support for HTTP and HTTP2 dissectors. 2019-04-22 15:24:46 +00:00
http-ooo.pcap tcp: add support for reassembling out-of-order segments 2018-06-28 06:10:35 +00:00
http-ooo2.pcap tcp: fix reporting of "Reassembled in" for OoO initial segment 2019-01-25 12:01:32 +00:00
http.pcap Test: Add dftest to our tests. 2018-05-04 22:44:32 +00:00
http2-brotli.pcapng Add brotli decompression support for HTTP and HTTP2 dissectors. 2019-04-22 15:24:46 +00:00
http2-data-reassembly.pcap http2: reassemble entity bodies in data frames 2017-06-22 16:22:59 +00:00
icmp.pcapng.gz test: make 'double' tests rely on icmp instead of ntp. 2018-10-25 04:09:44 +00:00
ikev1-bug-12610.pcapng.gz
ikev1-bug-12620.pcapng.gz
ikev1-certs.pcap
ikev2-decrypt-3des-sha1_160.pcap
ikev2-decrypt-aes128ccm12-2.pcap
ikev2-decrypt-aes128ccm12.pcap
ikev2-decrypt-aes192ctr.pcap
ikev2-decrypt-aes256cbc.pcapng
ikev2-decrypt-aes256ccm16.pcapng
ikev2-decrypt-aes256gcm8.pcap
ikev2-decrypt-aes256gcm16.pcap
ipv6.pcap Test: Add dftest to our tests. 2018-05-04 22:44:32 +00:00
ipx_rip.pcap Test: Add dftest to our tests. 2018-05-04 22:44:32 +00:00
knxip_DataSec.pcap KNX-IP: new KNXnet/IP dissector 2018-10-16 09:03:43 +00:00
knxip_SecureWrapper.pcap KNX-IP: new KNXnet/IP dissector 2018-10-16 09:03:43 +00:00
knxip_TimerNotify.pcap KNX-IP: new KNXnet/IP dissector 2018-10-16 09:03:43 +00:00
krb-816.pcap.gz
many_interfaces.pcapng.1 Dumpcap: Fix writing SHBs and IDBs. 2018-11-16 19:28:11 +00:00
many_interfaces.pcapng.2 Dumpcap: Fix writing SHBs and IDBs. 2018-11-16 19:28:11 +00:00
many_interfaces.pcapng.3 Dumpcap: Fix writing SHBs and IDBs. 2018-11-16 19:28:11 +00:00
nfs.pcap Test: Add dftest to our tests. 2018-05-04 22:44:32 +00:00
ntp.pcap Test: Add dftest to our tests. 2018-05-04 22:44:32 +00:00
owe.pcapng.gz ieee80211: Support decrypting OWE captures 2019-03-26 08:56:03 +00:00
packet-h2-14_headers.pcapng
retrans-tls.pcap TCP: pass data after a ZeroWindowProbe to subdissectors 2019-01-27 09:47:54 +00:00
rsa-p-lt-q.pcap
rsasnakeoil2.pcap
sample_control4_2012-03-24.pcap
segmented_fpm.pcap
sip.pcapng
sipmsg.log
smb300-aes-128-ccm.pcap.gz test/suite_decryption.py: add smb2 decryption tests 2019-01-25 16:07:52 +00:00
smb311-aes-128-ccm.pcap.gz test/suite_decryption.py: add smb2 decryption tests 2019-01-25 16:07:52 +00:00
snakeoil-dtls.pcap
tcp-badsegments.pcap tests: add regression tests for Follow TCP Stream 2018-07-06 12:11:09 +00:00
text2pcap_hash_eol.txt
tftp.pcap Test: Add dftest to our tests. 2018-05-04 22:44:32 +00:00
tls-fragmented-handshakes.pcap.gz TLS: Implement reassembly for Handshake messages 2019-04-24 21:02:35 +00:00
tls-renegotiation.pcap
tls12-aes128ccm.pcap
tls12-aes256gcm.pcap
tls12-chacha20poly1305.pcap
tls12-dsb.pcapng wiretap: add read/write support for Decryption Secrets Block (DSB) 2018-11-20 05:12:37 +00:00
tls13-20-chacha20poly1305.pcap
tls13-rfc8446.pcap TLS13: add final tests for RFC 8446 2018-08-17 07:28:56 +00:00
udt-dtls.pcapng.gz Add support for dissecting UDT over DTLS 2017-07-09 18:25:08 +00:00
wireguard-ping-tcp.pcap WireGuard: implement peer identification based on MAC1 2018-08-08 11:25:08 +00:00
wireguard-psk.pcap WireGuard: implement decryption with PSKs 2018-08-08 11:26:06 +00:00
wpa-Induction.pcap.gz
wpa-eap-tls.pcap.gz
wpa-test-decode-mgmt.pcap.gz
wpa-test-decode-tdls.pcap.gz
wpa-test-decode.pcap.gz
wpa1-gtk-rekey.pcapng.gz ieee80211: Fix WPA1 decryption 2019-04-03 15:25:54 +00:00
wpa3-sae.pcapng.gz ieee80211: Support decrypting WPA3-Personal / SAE captures 2019-03-21 12:13:58 +00:00