wireshark/test
John Thacker f3df91b90d tcp: Fix handling of retransmission for reassembly
When reassemble_ooo is set, we can do a better job determining
if a segment is retransmitted or not from the reassembler perspective,
which is different than what TCP sequence analysis determines, which
is retransmission from the sender's perspective.

This also allows us to have a good way of dealing with retransmission
but with additional data.

This only works when reassembling out of order is set. Without it,
we fall back to the old method of detecting retransmissions, which
has a harder time with the edge cases.

Fix #17406, fix #15993, fix #13388, fix #13523.
2022-08-30 21:44:11 +00:00
..
baseline ip: ip.flags field are 3 high bits not full byte 2022-06-14 20:28:17 +00:00
captures TCP: Use RFC 6994 for experimental options 2022-08-17 21:33:31 +00:00
config
keys
lua Lua: Add lrexlib-pcre2 Lua regex bindings 2022-05-26 10:09:13 +00:00
protobuf_lang_files GRPC: Add support for gRPC-Web 2022-03-01 10:19:47 +00:00
suite_dfilter spelling: "two pass" -> two-pass 2022-08-22 10:20:29 +00:00
suite_dissectors
README.test
conftest.py
fixtures.py
fixtures_ws.py Version info: Do not show plugin count 2022-06-05 21:31:36 +00:00
hosts.custom
hosts.global
hosts.personal
matchers.py
sampleif.py
subprocesstest.py
suite_capture.py
suite_clopts.py elastic: fix mapping with recent es versions. 2022-03-14 08:34:48 +00:00
suite_decryption.py test: Remove libgcrypt checks for 1.8 and below 2022-04-21 06:32:44 -04:00
suite_dissection.py tcp: Fix handling of retransmission for reassembly 2022-08-30 21:44:11 +00:00
suite_extcaps.py extcap: new interface, wifidump, to capture Wi-Fi frames using a remote SSH host 2022-03-09 08:01:39 +00:00
suite_external.py
suite_fileformats.py
suite_follow.py
suite_follow_dccp.py
suite_follow_multistream.py HTTP2: Send headers to the follow tap after decompression 2022-08-08 23:50:20 +00:00
suite_io.py
suite_mergecap.py editcap/mergecap: swap 'v'|'V' options to match other CLI utilities 2022-06-16 02:13:50 +00:00
suite_nameres.py
suite_netperfmeter.py
suite_outputformats.py
suite_release.py
suite_sharkd.py
suite_text2pcap.py
suite_unittests.py
suite_wslua.py Lua: Remove on-life-support GRegex bindings 2022-05-26 10:09:13 +00:00
test.py
travis-upload-artifacts.sh
util_dump_dhcp_pcap.py

README.test

Wireshark Tests

The recommended steps to prepare for and to run tests:

* Install two Python packages, pytest: `pip install pytest pytest-xdist`
* Build programs (“wireshark”, “tshark”, etc.): `ninja`
* Build additional programs for the “unittests” suite: `ninja test-programs`
* Run tests in the build directory: `pytest`

Replace `ninja test-programs` by `make test-programs` as needed.

See the “Wireshark Tests” chapter of the Developer's Guide for details:
https://www.wireshark.org/docs/wsdg_html_chunked/ChapterTests.html

If you need to update the baseline files use the following commands (on a Linux system)
mkdir ~/.config/wireshark/profiles/ctest
TZ=UTC WIRESHARK_RUN_FROM_BUILD_DIRECTORY=1 build/run/tshark -C ctest -T ek -r test/captures/dhcp.pcap > test/baseline/dhcp.ek
TZ=UTC WIRESHARK_RUN_FROM_BUILD_DIRECTORY=1 build/run/tshark -C ctest -T json -r test/captures/dhcp.pcap > test/baseline/dhcp.json
TZ=UTC WIRESHARK_RUN_FROM_BUILD_DIRECTORY=1 build/run/tshark -C ctest -T jsonraw -r test/captures/dhcp.pcap > test/baseline/dhcp.jsonraw
TZ=UTC WIRESHARK_RUN_FROM_BUILD_DIRECTORY=1 build/run/tshark -C ctest -T ek -r test/captures/dhcp.pcap -x > test/baseline/dhcp-raw.ek