<div dir="ltr"><div>I am piggybacking here on earlier posts by Jörg Vehlow.</div><div>It looks as I am trying to accomplish a similar task -  inspecting stream of TCP packets that belong to a certain TCP flow</div><div>(a flow is shared between all packets with the same 5 tuple:  (protocol, src, dst, sp, dp)).</div>
<div><br></div><div>For example:</div><div>For an HTTP session with one request there will be two messages, the request and the response.</div><div>If there is another request in the http session it will have four messages. (Request, response, request, response)</div>
<div>The order in which the messages appear is important. Together with the payload of a message, the time of the first </div><div>frame and direction should be saved.</div><div><br></div><div>I am actually inspecting several such TCP flows, e.g., I need to device each of the TCP flow into messages while</div>
<div>keeping the order the messages were meant to be, when they were sent.</div><div><br></div><div>Jörg mentioned he "hooked into the Applayer parser, managed the flags that control the behavior of the reassembler himself</div>
<div>and buffered the data to be able to feed it to the applayer parser the way it was before he hooked into"</div><div><br></div><div>I wonder if this is the best way to implement this mechanism on top of Suricata. If so can someone elaborate on that please?</div>
<div>Is there a better alternative? Some examples can be very helpful.</div><div><br></div><div>Thanks in advance for any feedback,</div><div><br></div><div>Amit </div></div>