Hello, I am trying to create random packets using a TCL script. I have encountered the following problem: When creating a TCP packet inside a IPV6 header that has a Fragment Extension Header, Wireshark no longer analyses the data containing the TCP packet (it is labeled simply as "data"). You can find here an example of a file that I import into Wireshark to check if my generated packets are correct: This file contains packets with fragment extension header - those with the mentioned issue: /6UzxGbgi Here is a line from this file:
This file contains packets without fragment extension header - maybe these also help you understand the issue: /mYTdisYy Here is a line from this second file:
Both files are on Pastebin. I am not asking for lines of code, I want to know what is wrong. I couldn't find anything about fragment headers interfering with tcp online, maybe you could direct me to somewhere I can find the answer. asked 16 Jul '13, 06:34 Maio |
2 Answers:
I think you've got the Ethertype wrong. If my hex reading skills are not totally off you're using Ethertype 0x0800, which is IPv4, not IPv6. You need to use 0x86dd instead. Wireshark will decode the IPv6 layer nonetheless because the dissector also checks the IPv6 version nibble, but it may break further dissection. Fix your ethertype and try again. answered 16 Jul '13, 06:42 Jasper ♦♦ |
You probably have the IPv6 "Reassemble fragmented IPv6 datagrams" preference enabled, but you don't have all the IPv6 fragments in the capture file. If you don't have all the fragments but want to see the first fragment dissected by Wireshark, you need to turn off that preference. answered 16 Jul '13, 07:36 cmaynard ♦♦ |
If I don't add the Fragment Extension Header, it detects the TCP packet.
I have fixed the Ethertype and it behaves the same way.
Got it. You set the "more fragments" flag, and Wireshark tries to reassemble the packet before displaying the content. Turn off "Reassemble fragmented IPv6 datagrams" in your Wireshark's IPv6 preferences, and it will work.
Yep, setting off "Reassemble fragmented IPv6 datagrams" worked. Thank you very much!