私はtcpdumpでキャプチャされたパケットを分析するためにCでプログラムを作成しています。私のプログラムでは、popen
を使用してパイプをtcpdumpプロセスに開きます。このプロセスはパケットをキャプチャし、以下のようにrawデータをstdoutにダンプします。popenを使用したときのtcpdumpからの出力のサイレンシング
FILE *tcpdump = popen("tcpdump -s0 -w -", "r");
ただし、tcpdumpからの警告とエラーメッセージは、コンソールに表示されるstderrにまっすぐに進みます。私は何とかこれらを非表示にしたいので、私のプログラムからの出力だけが表示されます。
私が試した1つの方法は、をtcpdumpコマンドに追加することでしたが、私のプログラムはtcpdumpの警告/エラーと生のパケットデータを区別する必要がありました。
tcpdumpからstderr出力を簡単に消音する方法はありますか?/dev/nullに
:リダイレクトの説明を探します。どうもありがとう。 – DanielGibbs