UDP response messages (DNS responses) are skipped when ipv4 reassembly is set to true.
Describe the bug I created a pcap using wireshark, it has some DNS quarries and its responses, but with ipv4 reassembly set to true, dns responses are skipped when i enumerate it.
System information
- OS Version: Windows 11 Pro 23H2
- Python Version: 3.11
- Python Implementation: PyPy
- PyPcapKit Version: 1.3.1.post9
Traceback stack When run program with `PCAPKIT_DEVMODE=1:
C:\Python311\Lib\site-packages\pcapkit_init_.py:0: DevModeWarning: development mode enabled PCAPKIT_DEVMODE=1 [INFO] 05/14/2024 04:25:19 PM - IPv4 reassembly enabled [INFO] 05/14/2024 04:25:19 PM - IPv6 reassembly enabled [INFO] 05/14/2024 04:25:19 PM - TCP reassembly enabled [WARNING] 05/14/2024 04:25:19 PM - EOF reached [WARNING] 05/14/2024 04:25:19 PM - EOF reached C:\Python311\Lib\site-packages\pcapkit\utilities\warnings.py:54: ExtractionWarning: EOF reached warnings.warn(message, category, stacklevel)
Expected behavior It should give both DNS request and responses after reassembly.
Additional context It worked fine for other pcaps, i created two of them on two different PCs using wireshark. PC1 used DNS over TCP and PC2 used DNS over UDP, PC2 case was creating this issue of skipping responses after reassembly.
Following is the extraction setting
self.extraction = extract( fin=inpuct_pcap, store=False, ip=True, reasm_strict=True, tcp=True, reassembly=True, nofile=False, )
Enumeration is done as:
for _, stream in enumerate(self.extraction.reassembly.ipv4)
I have attached the pcap here secureProfileDNSOverUdp.zip