2011-06-20 4 views
2

Wiresharkに付属しているドキュメントを読んで、ソースを分析してWiresharkに関数または関数のコレクションがあるかどうかを調べました。キャプチャデータを含むバッファを渡すことができます(外部ファイルを使用するのではなく) 。Wiresharkにはキャプチャファイルではなくメモリバッファ内のパケットをデコードする機能がありますか?

Wireshark-devリストのthis questionも尋ねましたが、回答はありませんでした。

私が理解する限り、Wiresharkにパケット(ファイル、パイプまたはソケットの点で)を探す場所を教えてください。そして、ストリームからのパケットがあるときはいつでもそれを伝えます。キャプチャデータを含むバッファへのポインタを渡し、そこにあるものがあればWiresharkで解析します。

しかし、私は決してWiresharkの内部に関する専門家ではないので、私は決定的な答えを見つけるのを手助けするためにそうしています。ありがとうございました。

+0

'wireshark'ではなく' libpcap'ソースを見たいと思うかもしれません。つまり 'pcap_open_offline()'です。メモリブロックを見て修正するのは簡単です。しかし、一時的なファイルを書くのは簡単で簡単なので、避けなければならない理由は不明です。 –

+0

@ n.m。 'libpcap'を見るでしょう。お薦めいただきありがとうございます。しかし、Wiresharkのディセプタを使ってそのパケットの情報を取得しようとしているので、私は 'libpcap'からどのくらいのマイルを得るのか分かりません。いずれにせよ、私の探求は、メモリバッファを使用することが可能かどうかに関して、より決定的な答えを見つけることです。この決定は、可能であればどのような費用で行われるかによって異なります。 –

答えて

1

新しいtvbuff_tTVBUFF_REAL_DATAとして作成し、メモリ領域をdataパラメータとして指定してみましたか?

tvbuff_t *tvb = tvb_new_real_data(mem_buffer_ptr, mem_buf_length, mem_buf_length); 
//mem_buffer_ptr is your memory buffer 
//mem_buf_length is the number of bytes in your buffer 

これが仕事をしたりしませんかどうかは疑問であるので、Wiresharkのは、歴史的に、あなたはそれが解剖されている間、あなたのデータが変更される可能性を考える場合は特に、他のアプリケーションとうまく再生されません。一時ファイルを書き込むことはできませんか?

+0

提案していただきありがとうございます。私はそれを試していないが、私はそれを撃つだろう。今私の仕事は何かがあるかどうかを知ることです。それが良い方法かどうかの評価は後で取り組むべきものです。 –

関連する問題