質問なんですが、BPFを使い、パケットフィルタリングすると
printf文が使えなくなります。なぜでしょうか?

fprintf(stderr, "test ");
などのような標準エラー出力は表示することができます。

また、参考までに、BPFはプロミスキャスモードと即時モードで動作させています。