虽然在 NetFlows 中,我们可以检查到达 Cloudflare 边缘路由器的字节和数据包,但在 HTTP 请求中,我们处于 OSI 模型 ↗的上一层。HTTP 请求检查来自最终用户的到达由 Cloudflare CDN ↗ 服务的网站的完整 HTTP 请求。
Radar 上的采用和使用情况 ↗部分的大多数图表都来自此数据源。
这些端点大致可分为:
timeseries:一组指标的时间序列。例如,在查看 IP 版本时,显示 IPv4 时间序列和 IPv6 时间序列。summary:显示在指定时间范围内一组指标的摘要。例如,在该时间段内 IPv4 流量占总 HTTP 流量的百分比。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>"以下是缩写的响应:
{
"success": true,
"errors": [],
"result": {
"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>"这将返回以下内容:
{
"success": true,
"errors": [],
"result": {
"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>"{
"success": true,
"errors": [],
"result": {
"ipv6": [
{
"clientCountryAlpha2": "IN",
"clientCountryName": "India",
"value": "50.612747"
},
{
"clientCountryAlpha2": "MY",
"clientCountryName": "Malaysia",
"value": "46.233654"
},
{
"clientCountryAlpha2": "UY",
"clientCountryName": "Uruguay",
"value": "39.796762"
},
{
"clientCountryAlpha2": "LK",
"clientCountryName": "Sri Lanka",
"value": "39.709355"
},
{
"clientCountryAlpha2": "VN",
"clientCountryName": "Vietnam",
"value": "39.1514"
}
]
}
}根据返回的数据,印度在 IPv6 采用方面处于领先地位。
有关更多信息,请参阅此端点的 API 参考。
参阅应用层攻击以了解更多有关已缓解的 HTTP 请求的信息。