0

pdml形式で出力されたwiresharkからの大きなパケットキャプチャを処理しようとしています。次に、これらのキャプチャは、lxmlライブラリを使用してPythonにロードされ、それらをトラバースします。私が抱えている問題は、単一のHTTP応答パケットに関する情報を引き出すことができ、それをそのHTTP要求パケットに関連付ける方法が必要なことです。

私が実装しようと考えていた現在の解決策は、応答と同じTCPストリームの一部であるHTTP要求パケットを検索することですが、これは問題の非効率的な解決策のようであり、TCPストリームを継続的に分離してから検索する必要がありますリクエストパケット用にそれら。

応答パケットを欠落している要求に関連付ける簡単な方法はありますか?

4

1 に答える 1

0

私がこれまでに思いついた最善の解決策は、各TCP接続に1つの要求/応答ペアしか含まれていないという仮定の下でxpathを使用することです。

#Get the stream index from the packet
streamIndex = packet.xpath('proto/field[@name="tcp.stream"]')[0].attrib['show']
#Use that stream index to get the matching response packet
return packet.xpath('/pdml/packet[proto/field[@name="tcp.stream" and @show="' + streamIndex + '"] and proto/field[@name="http.request.full_uri"]]')[0]
于 2012-07-18T12:31:52.573 に答える