wireshark-dissector で受信したパケット サイズを読み取るにはどうすればよいですか? そのデータは tvbuff_t から入手できますか?
質問する
1974 次
1 に答える
0
「パケットサイズ」とは、tvb でディセクタに渡されるデータのサイズを意味する場合、次のようになります。
tvb_reported_length(tvb)
ワイヤーに見られるサイズです。
tvb_length(tvb)
実際にキャプチャされたサイズです (ワイヤ上のサイズよりも小さい場合があります)。
いずれの場合も、返されるサイズは、ディセクタに渡されたデータのサイズです (つまり、下位レベルのヘッダー (イーサネットなど) は含まれません)。
完全なパケットのサイズが最初にネットワーク上で見られたとき、または保存されたときのサイズが必要な場合)
pinfo->fd->pkt_len // packet-len
pinfo->fd->caplen // amount actually captured
(ディセクタ ソース ツリーの epan/frame_data.h を参照)。
ディセクタは、通常、フレームの実際のフル サイズに関する情報にアクセスする必要はありません (つまり、アクセスする必要はありません)。
これが必要なデータである場合、このデータが必要な理由を示すことができれば、別のアプローチを提案できるかもしれません.
于 2012-12-26T16:06:44.730 に答える