Tsharkはgdbを介して実行されません。

Tsharkはgdbを介して実行されません。

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.cWiresharkソースコードディストリビューションの単一のCソースファイル()であり、ここからダウンロードできます。 https://www.wireshark.org/download/src/

関連情報