第41章 ネットワークパケットのキャプチャー
ネットワークの問題と通信をデバッグするには、ネットワークパケットをキャプチャーできます。以下のセクションでは、ネットワークパケットのキャプチャーに関する手順と追加情報を提供します。
41.1. xdpdump を 使用して、XDP プログラムによってドロップされたパケットを含むネットワークパケットをキャプチャーします。 リンクのコピーリンクがクリップボードにコピーされました!
xdpdump ユーティリティーは、XDP プログラムによってドロップまたは変更されたパケットを含むネットワークパケットをキャプチャーします。tcpdump とは異なり、xdpdump は eBPF プログラムを使用するため、従来のユーザー空間ユーティリティーではキャプチャーできないパケットをキャプチャーできます。
xdpdump を使用して、インターフェイスにすでに割り当てられている XDP プログラムをデバッグすることができます。したがって、ユーティリティーは、XDP プログラムを起動し、終了する前にパケットをキャプチャーできます。後者の場合、xdpdump は XDP アクションもキャプチャーします。デフォルトでは、xdpdump は XDP プログラムのエントリーで着信パケットをキャプチャーします。
AMD および Intel 64 ビット以外のアーキテクチャーでは、xdpdump ユーティリティーはテクノロジープレビュー機能としてのみ提供されます。テクノロジープレビュー機能は、Red Hat 製品サポートのサービスレベルアグリーメント (SLA) ではサポートされておらず、機能的に完全ではない可能性があるため、Red Hat では実稼働環境での使用を推奨していません。テクノロジープレビュー機能では、最新の製品機能をいち早く提供します。これにより、お客様は開発段階で機能をテストし、フィードバックを提供できます。
テクノロジープレビュー機能のサポート範囲は、Red Hat カスタマーポータルの テクノロジープレビュー機能のサポート範囲 を参照してください。
xdpdump には、パケットフィルターまたはデコード機能がないことに注意してください。ただし、パケットのデコードに tcpdump と組み合わせて使用できます。
開発者であり、xdpdump のソースコードに関心がある場合は、Red Hat カスタマーポータルから対応するソース RPM (SRPM) をダウンロードしてインストールします。
前提条件
- XDP プログラムをサポートするネットワークドライバー。
-
XDP プログラムが
enp1s0インターフェイスに読み込まれている。プログラムが読み込まれていない場合は、xdpdumpが後方互換性としてtcpdumpと同様にパケットをキャプチャーします。
手順
enp1s0インターフェイスでパケットをキャプチャーして、/root/capture.pcapファイルに書き込むには、次のコマンドを実行します。# xdpdump -i enp1s0 -w /root/capture.pcap- パケットの取得を停止するには、Ctrl+C を押します。