I couldn't get any metadata for "tcp.reassembled.data" when reading a packet capture that included a TLS record fragmented across multiple TCP segments.
I could see "tcp.reassembled.data" when I ran tshark like tshark -r tcp_fragmentation.pcap -Tpdml -Y "tls.handshake.type == 1". But it was in a "fake-field-wrapper" proto tag instead of the "tcp" proto tag. A snippet of the output:
The problem seems to be that rtshark ignores all "fake-field-wrapper" tags, making all the tcp fragmentation information unreachable.
This change tries to fix the problem by inferring the real protocol from the field name. "tcp.reassembled.data" is pretty clear that it's part of tcp. To be extra cautious, I required that the protocol inferred from the field name match the last protocol read, not just any existing protocol.
I couldn't get any metadata for "tcp.reassembled.data" when reading a packet capture that included a TLS record fragmented across multiple TCP segments.
I could see "tcp.reassembled.data" when I ran tshark like
tshark -r tcp_fragmentation.pcap -Tpdml -Y "tls.handshake.type == 1"
. But it was in a "fake-field-wrapper" proto tag instead of the "tcp" proto tag. A snippet of the output:The problem seems to be that rtshark ignores all "fake-field-wrapper" tags, making all the tcp fragmentation information unreachable.
This change tries to fix the problem by inferring the real protocol from the field name. "tcp.reassembled.data" is pretty clear that it's part of tcp. To be extra cautious, I required that the protocol inferred from the field name match the last protocol read, not just any existing protocol.