Centos 6.4にWiresharkを正常にインストールしました。tsharkコマンドを実行でき、正常に動作します。両方のタイプのパケットを解析する必要があるアプリケーションを作成しているので、gdbを実行してtcpとudpパケットをどのようにデコードするかを確認したいと思います。 libtool --mode=execute gdb tsharkを実行すると、ここ(gdb)で実行され停止しますが、何もキャプチャしません。
答え1
Gdbは実行可能ファイルを自動的に実行せずにロードするだけです。これにより、必要に応じて(ブレークポイントなど)最初に設定できます。
プロンプトで、「実行」コマンドが(gdb)
実行を開始します。これにより、tsharkにコマンドライン引数を指定することもできます。たとえば、次のようになります。
(gdb) run -i lo
同じ方法でtsharkを実行しますtshark -i lo
。
答え2
Wiresharkと関連ツールバー(mergecap、TSharkなど)はオープンソースであることを覚えておいてください。段階的に分解するよりもソースコードを読む方が簡単かもしれません。
TSharkアプリケーションは、特にtshark.c
Wiresharkソースコードディストリビューションの単一のCソースファイル()であり、ここからダウンロードできます。
https://www.wireshark.org/download/src/