tcpdumpによってキャプチャされたパケットを分析するプログラムをCで作成しています。私のプログラムではpopen
、以下に示すように、パケットをキャプチャして生データをstdoutにダンプするtcpdumpプロセスへのパイプを開くために使用します。
FILE *tcpdump = popen("tcpdump -s0 -w -", "r");
ただし、tcpdumpからの警告とエラーメッセージは、コンソールに表示されるstderrに直接送信されます。どういうわけかこれらを隠したいので、私のプログラムからの出力だけが表示されます。
私が試した1つの方法は、tcpdumpコマンドに追加2>&1
することでしたが、プログラムはtcpdumpの警告/エラーと生のパケットデータを区別する必要がありました。
tcpdumpからのstderr出力を無音にする簡単な方法はありますか?