INTEGRITY Документация

URL Scanner

Чтобы лучше понимать использование интернета по всему миру, используйте URL Scanner от Cloudflare. С его помощью можно изучить подробные сведения о домене, IP-адресе, URL или ASN. URL Scanner доступен в разделе Security Center панели управления Cloudflare, Cloudflare Radar ↗, и Cloudflare API.

Использование API

Чтобы выполнить первое сканирование URL через API, необходимо получить специальный для URL Scanner API-токен. Создайте Custom Token с Аккаунт > URL Scanner в Разрешения группу и выберите Изменить в качестве уровня доступа.

Получив токен и зная свой account_id, вы готовы сделать свой первый запрос к API по адресу https://api.cloudflare.com/client/v4/accounts/{account_id}/urlscanner/.

Отправка URL для сканирования

Чтобы отправить URL на сканирование, достаточно указать только сам URL для сканирования в POST тело запроса:

curl "https://api.cloudflare.com/client/v4/accounts/{account_id}/urlscanner/v2/scan" \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Content-Type: application/json" \
--data '{
  "url": "https://www.example.com"
}'

По умолчанию отчет будет содержать Public уровень видимости, что означает, что запись появится в последние сканирования ↗ списке и в результатах поиска. Также будет включен один снимок экрана в разрешении для настольных устройств.

Успешный ответ будет иметь код состояния 200 и будет выглядеть примерно так:

{
  "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
  "api": "https://api.cloudflare.com/client/v4/accounts/<accountId>/urlscanner/v2/result/095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
  "visibility": "public",
  "url": "https://www.example.com",
  "message": "Submission successful"
}

Одновременно можно отправить до 100 URL-адресов через API ↗.

uuid свойство в приведенном выше ответе идентифицирует скан и понадобится при получении отчета о скане.

Отправка произвольного сканирования URL

Ниже приведён пример тела запроса с некоторыми пользовательскими параметрами конфигурации:

{
	"url": "https://example.com",
	"screenshotsResolutions": [
		"desktop", "mobile", "tablet"
	],
  "customagent": "XXX-my-user-agent",
  "referer": "example",
	"customHeaders": {
		"Authorization": "xxx-token"
	},
	"visibility": "Unlisted"
}

На изображении выше уровень видимости задан как Unlisted, что означает, что отчёт сканирования не будет включён в последние сканирования ↗ списке, ни в результатах поиска. По сути, доступ к нему будет только у пользователей, которые знают ID скана.

Также будет сделано три снимка экрана веб-страницы, по одному для каждого целевого типа устройства. Поле User-Agent ↗ будет установлен как "XXX-my-user-agent". Обратите внимание, что вы можете задать любой пользовательский HTTP-заголовок, включая Авторизация ↗.

Получение отчёта о сканировании

После отправки запроса на сканирование URL текущий прогресс можно проверить, вызвав https://api.cloudflare.com/client/v4/accounts/{account_id}/urlscanner/v2/result/{scan_id}. scan_id будет uuid значение, возвращённое в предыдущем ответе.

Пока сканирование выполняется, код состояния HTTP будет 404; после завершения оно будет 200. Cloudflare рекомендует опрашивать каждые 10-30 секунд.

В числе прочего ответ будет включать следующие основные свойства:

Вот несколько примеров более конкретных свойств:

Получение результатов сканирования URL Документация конечной точки API содержит полную схему ответа.

Чтобы получить снимки экрана или полный журнал сети см. документацию по соответствующим конечным точкам.

Поиск сканирований

Используйте подмножество синтаксиса ElasticSearch Query для фильтрации сканирований. Результаты поиска будут включать Public сканов и ваших собственных Unlisted сканов.

Чтобы найти сканирования для хоста google.com, используйте параметр запроса q=page.domain:"google.com":

curl 'https://api.cloudflare.com/client/v4/accounts/{account_id}/urlscanner/v2/search?q=page.domain:google.com' \
--header "Authorization: Bearer <API_TOKEN>"

Если же вы хотите найти сканирования, в которых был выполнен хотя бы один запрос к хосту cdnjs.cloudflare.com, например сайты, использующие JavaScript-библиотеку, размещённую на cdnjs.cloudflare.com, используйте параметр запроса hostname=cdnjs.cloudflare.com:

curl "https://api.cloudflare.com/client/v4/accounts/{account_id}/urlscanner/v2/search?q=domain:cdnjs.cloudflare.com" \
--header "Authorization: Bearer <API_TOKEN>"

Другие примеры запросов:

Перейдите в Поиск сканирований URL в документации API, чтобы увидеть полный список доступных параметров.

Security Center

Также можно выполнить поиск в Security Center:

  1. На панели управления Cloudflare перейдите к разделу Расследовать страницу.

    Перейдите в Расследовать ↗
  2. Введите запрос и выберите Поиск.

Вы можете сканировать URL-адрес с учетом местоположения. Это позволяет проанализировать, как сайт показывает разный контент в зависимости от местоположения, и помогает выявлять и изучать вредоносную активность, характерную для конкретного региона.

Чтобы просканировать URL с учетом вашего географического положения:

  1. Введите URL-адрес.
  2. Перейдите в Расположение > Выберите страну, из которой будет выполняться сканирование URL.
  3. Выберите Сканировать сейчас.

Вы также можете использовать API ↗ чтобы просканировать URL-адрес из определённого места.

В Security Center можно получить предварительно отфильтрованную информацию по: