
⭐ ⭐ Распределенный tcpdump для облачных нативных сред ⭐ ⭐
Deepfence PacketStreamer — это высокопроизводительный инструмент для удаленного захвата и сбора пакетов. Он используется платформой безопасности Deepfence ThreatStryker для сбора сетевого трафика по запросу из облачных рабочих нагрузок для криминалистического анализа.
Основные цели дизайна:
Сенсоры PacketStreamer запускаются на целевых серверах. Сенсоры захватывают трафик, применяют фильтры и затем передают трафик в потоке центральному приемнику. Потоки трафика могут быть сжаты и/или зашифрованы с помощью TLS.
Приемник PacketStreamer принимает потоки PacketStreamer от нескольких удаленных сенсоров и записывает пакеты в локальный файл захвата pcap

Сенсоры PacketStreamer собирают сырые сетевые пакеты на удаленных хостах. Они выбирают пакеты для захвата с помощью BPF-фильтра и пересылают их центральному процессу-приемнику, где они записываются в формате pcap. Сенсоры очень легковесны и оказывают незначительное влияние на производительность удаленных хостов. Сенсоры PacketStreamer могут запускаться на bare-metal серверах, на хостах Docker и на узлах Kubernetes.
Приемник PacketStreamer принимает сетевой трафик от нескольких сенсоров, собирая его в единый центральный файл pcap. Затем вы можете обработать файл pcap или передать трафик в реальном времени в выбранные инструменты, такие как Zeek, Wireshark, Suricata, или в виде живого потока для моделей машинного обучения.
PacketStreamer отвечает более общим сценариям использования, чем существующие альтернативы. Например, используйте PacketStreamer, если вам нужен легкий и эффективный метод сбора сырых сетевых данных с нескольких машин для централизованного логирования и анализа.
Для полных инструкций обратитесь к документации PacketStreamer.
Вам потребуется установить цепочку инструментов golang и libpcap-dev перед сборкой PacketStreamer.
# Pre-requisites (Ubuntu): sudo apt install golang-go libpcap-dev
git clone https://github.com/deepfence/PacketStreamer.git
cd PacketStreamer/
make
Запустите приемник PacketStreamer, слушающий на порту 8081 и записывающий pcap-вывод в /tmp/dump_file (см. receiver.yaml):
./packetstreamer receiver --config ./contrib/config/receiver.yaml
Запустите один или несколько сенсоров PacketStreamer на локальных и удаленных хостах. Отредактируйте адрес сервера в sensor.yaml:
# run on the target hosts to capture and forward traffic
# copy and edit the sample sensor-local.yaml file, and add the address of the receiver host
cp ./contrib/config/sensor-local.yaml ./contrib/config/sensor.yaml
./packetstreamer sensor --config ./contrib/config/sensor.yaml
Thank you for using PacketStreamer.
По любым вопросам, связанным с безопасностью проекта PacketStreamer, обращайтесь по адресу productsecurity at deepfence dot io.
Пожалуйста, создавайте issues на GitHub по мере необходимости и присоединяйтесь к сообществу Deepfence в Slack-канале.
Проект Deepfence PacketStreamer (этот репозиторий) предоставляется по лицензии Apache2.
Вклады в проект Deepfence PacketStreamer также принимаются по лицензии Apache2 в соответствии с политикой inbound=outbound GitHub.