← Cloudflare Radar / radar / investigate
HTTP-запросы
Находясь в NetFlows мы можем анализировать байты и пакеты, поступающие на пограничные маршрутизаторы Cloudflare, тогда как в HTTP requests мы находимся уровнем выше, в Модель OSI ↗. HTTP requests анализирует полные HTTP-запросы от конечных пользователей, поступающие на сайты, обслуживаемые CDN ↗.
Большинство графиков в разделе Внедрение и использование ↗ раздела в Radar поступают из этого источника данных.
Эти конечные точки можно условно разделить на следующие группы:
timeseries: временной ряд группы метрик. Например, при просмотре версии IP отображаются временные ряды для IPv4 и IPv6.summary: отображает сводку группы метрик за указанный период времени. Например, долю трафика IPv4 от общего объема HTTP-трафика за этот период.top: список основных локаций или Автономные системы ↗ (автономных систем, AS), ранжированных по внедрению определённой метрики. Например, топ локаций по трафику с мобильных устройств (то есть локаций, где доля мобильного трафика от общего трафика в этой локации выше).
Список конечных точек
Timeseries
Пример: почасовая разбивка по типу устройства
В этом примере мы запросим данные о трафике по типам устройств в глобальном масштабе, с указанием и без указания трафик ботов. Параметры для 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 и трафику людей и ботов
В следующем примере мы рассмотрим глобальное распределение трафика по версии 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.
Также интересно узнать, насколько хорошо ваш интернет-провайдер справляется с внедрением IPv6. Если вам известен номер автономной системы (ASN) вашего интернет-провайдера, вы можете воспользоваться asn параметр для запроса этой информации. См. Справочник по API для других параметров.
Если вы не знаете ASN своего интернет-провайдера, используйте Radar ↗ чтобы узнать, что это такое.
Топ
Пример: топ локаций по трафику IPv6
В следующем примере мы определим, в каких локациях выше распространённость IPv6 ↗ за последние 28 дней.
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-запросах.