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

Захваты пакетов

Захваты пакетов записывают сетевой трафик, проходящий через сеть Cloudflare, что позволяет анализировать отдельные пакеты для устранения неполадок или расследования инцидентов безопасности. Результат содержится в одном или нескольких файлах формата PCAP, которые можно открыть в таких инструментах, как Wireshark.

Существует два типа захвата:

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

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

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

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

Full

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

    Перейдите в Работоспособность сети ↗
  2. Перейдите в Диагностика на вкладке.

  3. В Захваты сетевых пакетов, выберите Начать захват.

  4. Выберите тип захвата, который нужно выполнить, и нажмите Далее.

  5. Заполните обязательные поля, чтобы начать захват, а затем выберите Запустить.

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

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

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

Full PCAP

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

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

Оставьте 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 One панель управления, перейдите в Network visibility > Диагностика.
  2. В Захваты пакетов, выберите Начать захват.
  3. Найдите захват пакетов, который хотите скачать, и выберите Скачать.

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

Полные захваты пакетов могут создавать несколько файлов PCAP на один захват, поскольку захват может выполняться сразу на нескольких машинах в центре обработки данных. Чтобы объединить их в один файл для анализа, см. Документация 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": []
}