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