-
Notifications
You must be signed in to change notification settings - Fork 684
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Question regarding Reassembly and Fragmentation #1689
Comments
@seladb Kindly help! |
@zyl-one I'm sorry for the late response. From the screenshot it seems this is TCP reassembly and not IP fragmentation.
Please let me know if this workaround can work for you |
@seladb Thanks for your response. I have a few doubts. Consider that I’m parsing a Client Hello packet which has been split into two segments and requires TCP reassembly. Segment #1 is 1460 bytes, as shown in the screenshot, and Segment #2 contains the remaining 294 bytes. Question 1: Will TCP reassembly return the entire stream in this case, i.e., Segment #1 and Segment #2 (1460 + 294 = 1754 bytes)? I am only interested in reassembly and parsing till the handshake is complete (Client Hello and Server Hello) Question 2: Will the whole connection payload data be in memory? For example, if it’s a long connection that grows up to 1GB, will it occupy 1GB of memory until a FIN or RST flag is received? Holding the payload for multiple connections would be costly, right? Question 3: How can I implement something similar to Wireshark? It seems to identify which packets (segments) contribute to a Client Hello packet (for example, combining packets 3 and 4, which were segmented, into the complete Client Hello) and then parses it. How does it determine when the reassembly for the current actual packet from the source has been completely received and now it is time to combine them to form the actual packet and parse them?
Will try this out and keep you posted. Thanks in advance. Your help is greatly appreciated! |
Question
I am trying to parse TLS packets for SNI (Server Name Indication) over TCP. Most of the packets I see in Wireshark show that they are reassembled. (I'm not sure if this is TCP reassembly or IP fragmentation, as I have only recently started exploring these topics).
I am trying to understand how TCP reassembly and IP fragmentation work in PcapPlusPlus.
Should I handle IP fragmentation first and then pass the stream of data for TCP reassembly?
Is there a way to parse TCP packets directly after TCP reassembly in PcapPlusPlus (i.e., parse immediately if there are no segments, or reassemble and parse if there are segments, just like Wireshark)?
Operating systems
Windows, Linux (v23.09)
The text was updated successfully, but these errors were encountered: