BT-DHT reports malformed packets that are actually uTP on same connection
BitTorrent clients use the same UDP connection for both the DHT and uTP protocols.
Steps to reproduce
- Ensure that the BT-DHT and BT-uTP dissectors and heuristic dissectors (bittorrent_dht_udp and bt_utp_udp) are enabled.
- Open a bittorrent capture with DHT and uTP.
What is the current bug behavior?
- After valid BT-DHT packets, there will be a number of packets reported as Malformed DHT packets; these are actually uTP packets.
What is the expected correct behavior?
- The DHT packets should be recognized as DHT, and the uTP as uTP.
Sample capture file
Relevant logs and/or screenshots
Compiled (64-bit) using GCC 11.2.1 20210728 (Red Hat 11.2.1-1), with Qt 5.15.2, with libpcap, with POSIX capabilities (Linux), with libnl 3, with GLib 2.68.4, with zlib 1.2.11, with Lua 5.1.5, with GnuTLS 3.7.2 and PKCS #11 (closed) support, with Gcrypt 1.9.3-unknown, with MIT Kerberos, with MaxMind DB resolver, with nghttp2 1.43.0, with brotli, with LZ4, with Zstandard, with Snappy, with libxml2 2.9.12, with libsmi 0.4.8, with QtMultimedia, without automatic updates, with SpeexDSP (using system library), with Minizip.
Running on Linux 5.13.14-200.fc34.x86_64, with AMD Ryzen 5 5600X 6-Core Processor (with SSE4.2), with 15898 MB of physical memory, with GLib 2.68.4, with zlib 1.2.11, with Qt 5.15.2, with libpcap 1.10.1 (with TPACKET_V3), with c-ares 1.17.2, with GnuTLS 3.7.2, with Gcrypt 1.9.3-unknown, with nghttp2 1.43.0, with brotli 1.0.9, with LZ4 1.9.3, with Zstandard 1.5.0, with libsmi 0.4.8, with light display mode, without HiDPI, with LC_TYPE=en_US.UTF-8, binary plugins supported (21 loaded).