← Cloudflare Network Firewall / cloudflare-network-firewall / packet-captures
Сбор PCAP
После пакет захвата запрошен и данные собраны, результат сохраняется в одном или нескольких файлах в формате PCAP. Прежде чем запустить full типа захвата пакетов необходимо сначала выполнить инструкции для настройка бакета.
Отправить запрос на захват пакета
В настоящее время при запросе перехвата пакетов записываются пакеты, которые проходят через систему Magic Transit в глобальной сети Cloudflare. Полем API по умолчанию для этого является "system": "magic-transit", как для запроса, так и для ответа.
Ограничения захвата пакетов
Выборочный и полный
packet_limit: Минимальное значение:1пакет, а максимальное значение составляет10000пакеты.
Выборочный
time_limit: Минимальное значение:1секунд, а максимальное значение составляет300секунд.
Full
time_limit: Минимальное значение:1секунд, а максимальное значение составляет86400секунд.byte_limit: Минимальное значение:1байт, а максимальное значение составляет1000000000байт.
- В панели управления Cloudflare перейдите в Работоспособность сети ↗.
- Выберите Диагностика, затем выберите Начать захват.
- Выберите тип захвата, который нужно выполнить, и нажмите Далее.
- Заполните обязательные поля, чтобы начать захват, а затем выберите Запустить.
Основной Захваты пакетов странице отображается список захватов.
API PCAP требует одновременно system и type указать, чтобы начать захват. У PCAP-файла system обозначает продукт или логическую подсистему, в которой захватываются пакеты, а у PCAP type определяет, как захваченные пакеты собираются в файл PCAP.
В настоящее время можно отправлять не более одного запроса collect в минуту для выборочных PCAP, и одновременно может быть только один выполняющийся или ожидающий полный PCAP.
Full PCAP
Для полных запросов PCAP см. обязательные параметры, перечисленные на Создать полные PCAP-запросы. Учтите, что для полных захватов пакетов требуется на два параметра больше, чем для образцов пакетов.
Конечная точка запроса полного PCAP также содержит необязательные поля, с помощью которых можно ограничить количество захватываемых пакетов. Запросы как на полный, так и на выборочный захват пакетов содержат необязательное filter_v1 параметр, который вы можете использовать для фильтрации пакетов, например по адресу источника IPv4. Полный список параметров фильтрации приведен в списках параметров выше.
Оставьте filter_v1 пустым, чтобы собирать все пакеты без фильтрации.
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.
{
"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 чтобы собрать все пакеты без какой-либо фильтрации.
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 со сведениями о задании, которое формирует файл захвата пакетов. В нём также указан уникальный идентификатор запроса на захват пакетов и данные, переданные в исходном запросе.
{
"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": []
}Проверить статус захвата пакетов
- В панели управления Cloudflare перейдите в Работоспособность сети ↗.
- Выберите Диагностика.
- Найдите свой захват в разделе Захваты сетевых пакетов.
Чтобы проверить статус выполняющейся задачи, отправьте запрос к конечной точке и укажите идентификатор 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.
{
"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": []
}Статус захвата отображает один из следующих вариантов:
- Завершите: Запрос на захват выполнен и готов к загрузке.
- Выполняется: Запрос на захват собран, но данные ещё обрабатываются.
- Сбой: Захват не удался. Если это произошло, проверьте информацию о владении.
Скачать захваты пакетов
Как только обработка запроса завершится, вы сможете скачать файлы с захваченными пакетами.
- В панели управления Cloudflare перейдите в Работоспособность сети ↗.
- Выберите Диагностика.
- Найдите захват пакетов, который хотите скачать, и выберите Скачать.
Захваты пакетов доступны для скачивания, когда Статус отображает Успешно.
Дополнительные сведения об объединении нескольких сохранённых файлов захвата в один выходной файл см. в Документация 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Список захватов пакетов
- В панели управления Cloudflare перейдите в Работоспособность сети ↗.
- Выберите Диагностика > Захваты сетевых пакетов.
Отобразится список записей захвата пакетов, связанных с вашей учётной записью.
Чтобы просмотреть список отправленных запросов, используйте следующую команду:
curl https://api.cloudflare.com/client/v4/accounts/{account_id}/pcaps \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>"Ответ возвращает массив, включающий до 50 отправленных запросов, в том числе завершённые и текущие запросы.
{
"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.
- Несколько файлов PCAP: один полный захват PCAP может создать много небольших файлов PCAP, так как захват выполняется на каждом физическом сервере в дата-центре Cloudflare, через который проходит ваш трафик.
- Чтобы более точно нацелиться на нужный трафик, применяйте фильтры на уровне пакета, такие как протокол, порт и другие параметры.
- Объединение для анализа: чтобы просмотреть трафик как единый поток, можно использовать инструмент наподобие mergecap и объединить отдельные файлы в один файл большего размера для анализа в Wireshark. См. Документация Wireshark mergecap ↗ с инструкциями.