2011-01-26 21 views
0

wiresharkは物理パケットをどのように解釈しますか? 私が知る限り、すべてのパケットは同じに見えます。したがって、それらをデコードして次の上位プロトコルに渡す方法はありますか?Wireshark物理パケット

答えて

1

ライブトラフィックをキャプチャするために使用される場合、インターフェイスのタイプ、したがってパケットのL2カプセル化が認識され、pcapファイルを読み取るとき、ファイルにはヘッダーにネットワークタイプを示すフィールドがあります。

+0

ohkありがとうございました... – user420878

+0

もう1つのクエリ... Dissector_tablesは、特定のディセクタのサブディセクタを格納するために使用されます。このDissectorテーブルはそれぞれDissectorにローカルであり、どのようなマッピングがそこにありますか? M beginer – user420878

1

おそらく、さまざまなメカニズムがあります。ディセクタをダウンロードし、さまざまな方法を見つけるためにソースを調べることができます。

私はネットワークスニファのためのディセクタを書いて、それをEtherealに移植してからWiresharkに移植しました(あるいは誰かがそれを移植しました;私は覚えていません)。しかし、基本的な論理は、解剖学者が可能な解剖学的リストに追加されるということです。 Wiresharkはディセクターを呼び出し、できるだけパケットをデコードします。そうでなければ、チェーン内の次のものを呼び出します。

私が書いたコードでは、単純にパケット(私の状況ではUDP)を分析して、パケット内のチェックサムと既知のデータを使用して、目的のパケットのプロファイルに適合しているかどうかを判断しました。それが私が興味を持ったパケットだと決めたら、パケットから興味深いデータのさまざまな部分を抽出しただけです。関数tvb_get_ptrは、データの先頭へのポインタを返します。

+0

私にもう一つのことを教えてください...私はこのプロトコルツリーについて読んでいます...私はこれが何ですか?ウィリアーマークがディメンターを呼び出した後、サブディセプターが最後まで続く木です。そのため、ディセクターごとに独立したツリーが1つあります。私は正しいですか? – user420878

+0

@ user420878、私はそれが正しいと信じていますが、私の記憶は非常に曖昧です。私はちょうどリビジョンをチェックし、7年前に私がEtherealに移植したことを確認しています。そのため、多くの詳細は覚えていません。 –

関連する問題