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

Сбор PCAP

После пакет захвата запрошен и данные собраны, результат сохраняется в одном или нескольких файлах в формате PCAP. Прежде чем запустить full типа захвата пакетов необходимо сначала выполнить инструкции для настройка бакета.

Отправить запрос на захват пакета

В настоящее время при запросе перехвата пакетов записываются пакеты, которые проходят через систему Magic Transit в глобальной сети Cloudflare. Полем API по умолчанию для этого является "system": "magic-transit", как для запроса, так и для ответа.

Ограничения захвата пакетов

Выборочный и полный

Выборочный

Full

  1. В панели управления Cloudflare перейдите в Работоспособность сети ↗.
  2. Выберите Диагностика, затем выберите Начать захват.
  3. Выберите тип захвата, который нужно выполнить, и нажмите Далее.
  4. Заполните обязательные поля, чтобы начать захват, а затем выберите Запустить.

Основной Захваты пакетов странице отображается список захватов.

API PCAP требует одновременно system и type указать, чтобы начать захват. У PCAP-файла system обозначает продукт или логическую подсистему, в которой захватываются пакеты, а у PCAP type определяет, как захваченные пакеты собираются в файл PCAP.

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

Full PCAP

Для полных запросов PCAP см. обязательные параметры, перечисленные на Создать полные PCAP-запросы. Учтите, что для полных захватов пакетов требуется на два параметра больше, чем для образцов пакетов.

Конечная точка запроса полного PCAP также содержит необязательные поля, с помощью которых можно ограничить количество захватываемых пакетов. Запросы как на полный, так и на выборочный захват пакетов содержат необязательное filter_v1 параметр, который вы можете использовать для фильтрации пакетов, например по адресу источника IPv4. Полный список параметров фильтрации приведен в списках параметров выше.

Оставьте filter_v1 пустым, чтобы собирать все пакеты без фильтрации.

Пример запроса Full PCAP
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.

Пример ответа Full PCAP
{
	"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://<bucket-name>" // Ensure you use a bucket that you created and registered in the Cloudflare dashboard
	},
	"success": true,
	"errors": [],
	"messages": []
}

Выборочный PCAP

Чтобы создать пример запроса PCAP, отправьте тело JSON с обязательным параметром, указанным на Создать пример PCAP-запроса.

Оставьте filter_v1 чтобы собрать все пакеты без какой-либо фильтрации.

Выборочный PCAP: пример запроса
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 со сведениями о задании, которое формирует файл захвата пакетов. В нём также указан уникальный идентификатор запроса на захват пакетов и данные, переданные в исходном запросе.

Выборочный 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": 60,
		"status": "pending",
		"packets_remaining": 0,
		"type": "simple",
		"system": "magic-transit"
	},
	"success": true,
	"errors": [],
	"messages": []
}

Проверить статус захвата пакетов

  1. В панели управления Cloudflare перейдите в Работоспособность сети ↗.
  2. Выберите Диагностика.
  3. Найдите свой захват в разделе Захваты сетевых пакетов.

Чтобы проверить статус выполняющейся задачи, отправьте запрос к конечной точке и укажите идентификатор PCAP. Идентификатор PCAP приходит в ответе на запрос collect, как показано на предыдущем шаге.

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.

Выборочный 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": []
}

Статус захвата отображает один из следующих вариантов:

Скачать захваты пакетов

Как только обработка запроса завершится, вы сможете скачать файлы с захваченными пакетами.

  1. В панели управления Cloudflare перейдите в Работоспособность сети ↗.
  2. Выберите Диагностика.
  3. Найдите захват пакетов, который хотите скачать, и выберите Скачать.

Захваты пакетов доступны для скачивания, когда Статус отображает Успешно.

Дополнительные сведения об объединении нескольких сохранённых файлов захвата в один выходной файл см. в Документация mergecap от Wireshark ↗.

Файлы Full PCAP

Чтобы получить полные PCAP, скачайте файлы из бакета, указанного в destination_conf после того как статус PCAP станет success. Вы можете обнаружить несколько файлов с именем 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

Список захватов пакетов

  1. В панели управления Cloudflare перейдите в Работоспособность сети ↗.
  2. Выберите Диагностика > Захваты сетевых пакетов.

Отобразится список записей захвата пакетов, связанных с вашей учётной записью.

Чтобы просмотреть список отправленных запросов, используйте следующую команду:

List request example
curl https://api.cloudflare.com/client/v4/accounts/{account_id}/pcaps \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>"

Ответ возвращает массив, включающий до 50 отправленных запросов, в том числе завершённые и текущие запросы.

List response example
{
	"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": []
}

Рекомендации

Из-за особенностей сети Cloudflare ваш трафик может проходить через различные физические серверы в пределах одной точки присутствия Cloudflare.