PCAPの収集
パケットキャプチャがリクエストされ、キャプチャが収集されると、出力はPCAPファイル形式の1つ以上のファイルに含まれます。fullタイプのパケットキャプチャを開始する前に、バケットの設定に関する指示に従う必要があります。
現在、パケットキャプチャがリクエストされると、Magic Transitシステムを通じてCloudflareのグローバルネットワークで流れるパケットがキャプチャされます。これに対するデフォルトのAPIフィールドは、リクエストとレスポンスの両方で"system": "magic-transit"です。
サンプルとフル
time_limit: 最小値は1秒、最大値は300秒です。packet_limit: 最小値は1パケット、最大値は10000パケットです。
フル
byte_limit: 最小値は1バイト、最大値は1000000000バイトです。
- Cloudflareダッシュボード ↗にログインし、アカウントを選択します。
- Magic TransitまたはMagic WANを選択します。
- キャプチャで、キャプチャを開始を選択します。
- キャプチャタブ > キャプチャを開始を選択します。
- 実行したいキャプチャのタイプを選択し、次へを選択します。
- キャプチャを開始するために必要なフィールドを入力し、開始を選択します。
メインのパケットキャプチャページには、キャプチャのリストが表示されます。
PCAPのAPIでは、キャプチャを開始するためにsystemとtypeの両方を指定する必要があります。PCAPのsystemは、パケットがキャプチャされる製品または論理サブシステムであり、PCAPのtypeはキャプチャされたパケットがPCAPファイルにどのように構築されるかを示します。
現在、サンプルPCAPの収集リクエストは1分あたり1回のみ送信でき、実行中または保留中のフルPCAPは1つのみです。
フルPCAP
フルPCAPリクエストについては、フルPCAPリクエストの作成に記載されている必要なパラメータを参照してください。フルパケットキャプチャには、サンプルパケットよりも2つ多くのパラメータが必要です。
フルPCAPリクエストエンドポイントには、キャプチャされるパケットの量を制限するために使用できるオプションフィールドも含まれています。フルおよびサンプルパケットリクエストの両方には、IPv4ソースアドレスでパケットをフィルタリングするために使用できるオプションのfilter_v1パラメータが含まれています。フィルタオプションの完全なリストについては、上記のパラメータリストを参照してください。
filter_v1を空にして、フィルタリングなしで全てのパケットを収集します。
curl https://api.cloudflare.com/client/v4/accounts/{account_id}/pcaps \--header "X-Auth-Email: <EMAIL>" \--header "X-Auth-Key: <API_KEY>" \--header "Content-Type: application/json" \--data '{ "filter_v1": {}, "time_limit": 300, "packet_limit": 10000, "byte_limit": 100000000, "type": "full", "colo": "ORD", "system": "magic-transit", "destination_conf": "${BUCKET}"}'収集が進行中の間、レスポンスはstatusフィールドをpendingとして返します。ファイルをダウンロードする前に、PCAP収集が完了するのを待つ必要があります。PCAPがダウンロード可能になると、ステータスはsuccessに変わります。
{ "result": { "id": "7d7c88382f0b4d5daa9587aa45a1a877", "submitted": "2022-06-02T18:38:22.269047Z", "filter_v1": {}, "time_limit": 300, "status": "pending", "type": "full", "system": "magic-transit", "packet_limit": 10000, "byte_limit": 100000000, "colo": "ORD", "destination_conf": "gs://test-magic-pcaps" }, "success": true, "errors": [], "messages": []}サンプルPCAP
サンプルPCAPリクエストを作成するには、サンプルPCAPリクエストの作成に記載されている必要なパラメータを含むJSONボディを送信します。
filter_v1を空にして、フィルタリングなしで全てのパケットを収集します。
curl https://api.cloudflare.com/client/v4/accounts/{account_id}/pcaps \--header "X-Auth-Email: <EMAIL>" \--header "X-Auth-Key: <API_KEY>" \--header "Content-Type: application/json" \--data '{ "filter_v1": { "source_address": "1.2.3.4", "source_port": 123, "destination_address": "5.6.7.8", "destination_port": 80, "protocol": 6 }, "time_limit": 300, "packet_limit": 10000, "type": "simple", "system": "magic-transit"}'レスポンスは、パケットキャプチャを構築するために実行中のジョブの詳細を含むJSONボディです。レスポンスには、パケットキャプチャリクエストの一意の識別子と、リクエストで送信された詳細が含まれます。
{ "result": { "id": "6d1f0aac13cd40e3900d29f5dd0e8a2b", "submitted": "2021-12-20T17:29:20.641845Z", "filter_v1": { "source_address": "1.2.3.4", "source_port": 123, "destination_address": "5.6.7.8", "destination_port": 80, "protocol": 6 }, "time_limit": 60, "status": "pending", "packets_remaining": 0, "type": "simple", "system": "magic-transit" }, "success": true, "errors": [], "messages": []}- Cloudflareダッシュボード ↗にログインし、アカウントを選択します。
- Magic TransitまたはMagic WANを選択します。
- パケットキャプチャで、キャプチャを開始を選択します。
- キャプチャタブを選択します。
実行中のジョブのステータスを確認するには、エンドポイントにリクエストを送信し、PCAP識別子を指定します。PCAP識別子は、前のステップでの収集リクエストのレスポンスで受け取ります。
curl https://api.cloudflare.com/client/v4/accounts/{account_id}/pcaps/{pcap_id} \--header 'X-Auth-Email: <EMAIL>' \--header 'X-Auth-Key: <API_KEY>'レスポンスは、PCAP収集をリクエストしたときに受け取ったものに似ています。
{ "result": { "id": "6d1f0aac13cd40e3900d29f5dd0e8a2b", "submitted": "2021-12-20T17:29:20.641845Z", "filter_v1": { "source_address": "1.2.3.4", "source_port": 123, "destination_address": "5.6.7.8", "destination_port": 80, "protocol": 6 }, "time_limit": 120, "status": "success", "packets_remaining": 0, "type": "simple", "system": "magic-transit" }, "success": true, "errors": [], "messages": []}キャプチャのステータスは、以下のいずれかのオプションを表示します。
- 完了: キャプチャリクエストが完了し、ダウンロードの準備が整いました。
- 進行中: キャプチャリクエストがキャプチャされましたが、まだ処理中です。
- 失敗: キャプチャが失敗しました。この場合、所有情報を確認してください。
リクエストの処理が完了したら、パケットキャプチャをダウンロードできます。
- Cloudflareダッシュボード ↗にログインし、アカウントを選択します。
- Magic TransitまたはMagic WANを選択します。
- パケットキャプチャで、キャプチャを開始を選択します。
- キャプチャタブを選択します。
- ダウンロードしたいパケットキャプチャを見つけ、ダウンロードを選択します。
パケットキャプチャは、ステータスが成功と表示されるとダウンロード可能です。
複数の保存されたキャプチャファイルを単一の出力ファイルに処理する方法については、Wiresharkのmergecapドキュメント ↗を参照してください。
フルPCAP
フルPCAPを取得するには、PCAPのステータスがsuccessの後に、destination_confで指定されたバケットからファイルをダウンロードします。キャプチャは複数のマシンで行われる可能性があるため、pcap_<pcap_id>.pcapという名前の複数のファイルが見つかることがあります。
サンプルPCAP
サンプルPCAPの収集が完了したら、以前に使用したPCAP識別子を指定してPCAPをダウンロードできます。
curl https://api.cloudflare.com/client/v4/accounts/{account_id}/pcaps/{pcap_id}/download \--header 'X-Auth-Email: <EMAIL>' \--header 'X-Auth-Key: <API_KEY>' \--output download.pcap- Cloudflareダッシュボード ↗にログインし、アカウントを選択します。
- Magic TransitまたはMagic WANを選択します。
- パケットキャプチャで、キャプチャを開始を選択します。
- キャプチャタブを選択します。
アカウントに関連付けられたパケットキャプチャのリストが表示されます。
送信されたリクエストのリストを表示するには、次のコマンドを使用します。
curl https://api.cloudflare.com/client/v4/accounts/{account_id}/pcaps \--header "X-Auth-Email: <EMAIL>" \--header "X-Auth-Key: <API_KEY>"レスポンスは、完了したリクエストと進行中のリクエストを含む最大50件の送信リクエストを含む配列を返します。
{ "result": [ { "id": "43adab5adeca4dab9c51f4b7f70f2ec3", "submitted": "2021-12-15T03:04:09.277394Z", "filter_v1": {}, "time_limit": 120, "status": "success", "packets_remaining": 0, "type": "simple", "system": "magic-transit" } ], "success": true, "errors": [], "messages": []}