関連する 3 つの質問:
raw ソケットには、カーネル内 BPF (libpcap によって使用される) と同等のフィルタリング方法がありますか?
raw ソケットを開くと、マシン上のすべての IP パケットを受信することになりますか?
iptables は raw ソケットとどのように相互作用しますか? raw ソケットは iptables がドロップするパケットを認識しますか?
関連する 3 つの質問:
raw ソケットには、カーネル内 BPF (libpcap によって使用される) と同等のフィルタリング方法がありますか?
raw ソケットを開くと、マシン上のすべての IP パケットを受信することになりますか?
iptables は raw ソケットとどのように相互作用しますか? raw ソケットは iptables がドロップするパケットを認識しますか?
- raw ソケットには、カーネル内 BPF (libpcap によって使用される) と同等のフィルタリング方法がありますか?
それは同等以上のものです。BPF フィルター自体をサポートしています。次のようにソケットを取り付けます。
setsockopt(socket, SOL_SOCKET, SO_ATTACH_FILTER, &bpf_filter, sizeof(bpf_filter));
(この質問には完全な例があります)。
過去数年間、BPF は Linux で多くの変更を受けており、ネットワークのさまざまなフックに接続できるようになりました: ソケットだけでなく、tc イングレス/イーグレス インターフェイス、XDP (互換性のあるドライバーを備えた NIC)。また、kprobes、tracepoints、perf events、cgroups などなど、トレース/監視用です。
質問 2 と 3 の答えがわかりません。申し訳ありません。