HTTPリクエスト
NetflowsではCloudflareのエッジルーターに到達するバイトとパケットを検査できますが、HTTPリクエストではOSIモデル ↗の一層上に位置しています。HTTPリクエストは、CloudflareのCDN ↗によって提供されるウェブサイトに到達するエンドユーザーからの完全なHTTPリクエストを検査します。
Radarの採用と使用 ↗セクションにあるほとんどのチャートは、このデータソースから来ています。
これらのエンドポイントは大きく分けて次のように分類できます:
timeseries: 一群のメトリクスの時系列。たとえば、IPバージョンを見ているときは、IPv4の時系列とIPv6の時系列を表示します。summary: 指定された時間範囲内の一群のメトリクスの概要を表示します。たとえば、その期間中の総HTTPトラフィックに対するIPv4トラフィックの割合です。top: 特定のメトリクスの採用によってランク付けされた上位の場所または自律システム ↗(AS)のリスト。たとえば、モバイルデバイストラフィックによる上位の場所(その場所の総トラフィックに対するモバイルトラフィックの割合が高い場所など)。
この例では、ボットトラフィックの有無にかかわらず、グローバルにデバイスタイプ別のトラフィックをリクエストします。humanシリーズのパラメータはname=human&botClass=LIKELY_HUMAN&dateRange=1dです。botシリーズのパラメータはname=bot&botClass=LIKELY_AUTOMATED&dateRange=1dです:
curl "https://api.cloudflare.com/client/v4/radar/http/timeseries/device_type?name=human&botClass=LIKELY_HUMAN&dateRange=1d&name=bot&botClass=LIKELY_AUTOMATED&dateRange=1d&format=json&aggInterval=1h" \--header "Authorization: Bearer <API_TOKEN>"こちらが省略されたレスポンスです:
{ "success": true, "errors": [], "result": { "human": { "timestamps": ["2022-11-03T13:00:00Z", "2022-11-03T14:00:00Z", ".."], "mobile": ["52.5532", "52.146628", ".."], "desktop": ["47.394791", "47.800731", ".."], "other": ["0.052009", "0.052642", ".."] }, "bot": { "timestamps": ["2022-11-03T13:00:00Z", "2022-11-03T14:00:00Z", ".."], "desktop": ["83.833892", "84.017711", ".."], "mobile": ["16.156748", "15.969936", ".."], "other": ["0.00936", "0.012353", ".."] }, "meta": { "dateRange": { "startTime": "2022-11-03T13:00:00Z", "endTime": "2022-11-04T13:00:00Z" }, "normalization": "PERCENTAGE" } }}モバイルデバイスは、人間が生成したトラフィックとボットが生成したトラフィックを比較すると、かなり多く存在する傾向があります。
詳細については、デバイスタイプのタイムシリーズを取得するを参照してください。
同じ情報を、前の例のように時間ごとの内訳ではなく、全期間のデバイスタイプの内訳の概要を求めることでも見ることができます。
curl "https://api.cloudflare.com/client/v4/radar/http/summary/device_type?name=human&botClass=LIKELY_HUMAN&dateRange=1d&name=bot&botClass=LIKELY_AUTOMATED&dateRange=1d&format=json&aggInterval=1h" \--header "Authorization: Bearer <API_TOKEN>"こちらが省略されたレスポンスです:
"human": { "mobile": "54.967243", "desktop": "44.974006", "other": "0.058751"},"bot": { "desktop": "83.275452", "mobile": "16.707455", "other": "0.017093"}詳細については、このエンドポイントのAPIリファレンスを参照してください。
次の例では、ボットの有無にかかわらず、IPバージョンによるトラフィックのグローバルな内訳を調べます:
curl "https://api.cloudflare.com/client/v4/radar/http/summary/ip_version?name=human&botClass=LIKELY_HUMAN&dateRange=1d&name=bot&botClass=LIKELY_AUTOMATED&dateRange=1d&format=json&aggInterval=1h" \--header "Authorization: Bearer <API_TOKEN>"これにより、次のような結果が返されます:
"human": { "IPv4": "76.213647", "IPv6": "23.786353"},"bot": { "IPv4": "91.492032", "IPv6": "8.507968"}ボットはより多くのIPv4アドレスを使用する傾向があります。
ISPのIPv6採用状況を知ることも興味深いです。ISPの自律システム番号(ASN)を知っている場合は、asnパラメータを使用してこの情報を照会できます。その他のパラメータについては、APIリファレンスを参照してください。
ISPのASNがわからない場合は、Radar ↗を使用してそれを見つけることができます。
次の例では、過去28日間におけるIPv6 ↗の採用が高かった場所を見つけます。
curl "https://api.cloudflare.com/client/v4/radar/http/top/locations/ip_version/IPv6?name=ipv6&botClass=LIKELY_HUMAN&dateRange=28d&format=json&limit=5" \--header "Authorization: Bearer <API_TOKEN>""ipv6": [ { "clientCountryAlpha2": "IN", "clientCountryName": "インド", "value": "50.612747" }, { "clientCountryAlpha2": "MY", "clientCountryName": "マレーシア", "value": "46.233654" }, { "clientCountryAlpha2": "UY", "clientCountryName": "ウルグアイ", "value": "39.796762" }, { "clientCountryAlpha2": "LK", "clientCountryName": "スリランカ", "value": "39.709355" }, { "clientCountryAlpha2": "VN", "clientCountryName": "ベトナム", "value": "39.1514" }]返されたデータによると、インドがIPv6の採用でリードしています。
詳細については、このエンドポイントのAPIリファレンスを参照してください。
アプリケーション層攻撃を参照して、軽減されたHTTPリクエストについてさらに学んでください。