0

私はperlでpcapファイルを解析しています。リクエストとレスポンスがあります。完了していない(応答のないリクエスト)すべてのトランザクションを検索したいと思います。私のリクエストはReqInfo、ReqData、ReqMsgのように見え、レスポンスはRespInfo、RespData、RespMsgです。ReqとRespの基本的なカウントを行いました。リクエストの数はレスポンスより1多いです。これは大きなファイルであり、どのリクエストが失敗したかを把握できません。私は管理しただけです

perl -lne 'END {print $c} map ++$c, /ReqInfo/g' file.pcap

リクエストとレスポンスはtransactionIDによって拘束されます。ReqInfoが成功するたびにtransactionIDを配列に追加し、RespInfoが一致するたびにtransactionIDを配列から削除することを計画していました。検索全体の後、配列にすべての孤立したtransactionIDのリストが含まれることを期待しています。pcapファイルであるため、区切り文字付きのルールはありません。多数のReqを単一の行に、各Reqを別々の行に、または複数の行にまたがる断片化されたデータを含めることができます

ReqInfoの後にtransactionIDの最初の出現を見つける方法を探しています。多数のReqInfoを1行に、または各ReqInfoを別々の行に、または複数の行にまたがる断片化されたデータを含めることができます

4

1 に答える 1

1

リクエストを見つけると、

++$c{$tran_id}

答えを見つけると、

--$c{$tran_id}
  • リクエストとレスポンスの数が同じトランザクションのスコアはゼロになります。
  • 応答がないトランザクションは、最終的にプラスのスコアになります。
  • リクエストがないトランザクションは、マイナスのスコアになります。
于 2013-01-06T22:06:46.997 に答える