Tcpreplay аналог для windows

Tcpreplay

Download and Installation

Downloads

Download Releases for Users

  • Latest release:
    • tcpreplay-4.3.3.tar.xz
    • PGP signature
    • Release notes
    • Version 4.3.3 announcement
  • Previous release:
    • tcpreplay-4.3.1.tar.xz
    • PGP signature
    • Release notes
    • Version 4.3.1 announcement
  • Old Win32 release
    • Note that Windows is not supported by the maintainer
  • Complete list of past releases

Download Source for Developers

Compiling source from GitHub has more requirements than compiling a release. Specifically you must have AutoGen installed. If you plan to contribute you must have AutoGen version 5.16.2, otherwise your pull requests may be rejected.

If you want to help develop Tcpreplay visit our Developer Wiki.

  • Download via GitHub
  • git clone https://github.com/appneta/tcpreplay
  • Or if you plan to contribute someday simply fork the repo and submit a pull request when you are ready to share your changes with us
  • Or download the latest master tarball
  • Note that master is always production ready, but not necessarily the latest stable release. See GitHub network to see the state of master

Installation

Simple directions for Unix users

You will need to compile the source code, but first you must ensure that you have compiling tools and prerequisite software installed. For example, on a base Ubuntu or Debian system you may need to do the following:

Next extract tarball, change to root directory, then do:

Optionally you can run the tests to ensure that your installation is fully functional:

Installation Video

Build netmap feature

This feature will detect netmap capable network drivers on Linux and BSD systems. If detected, the network driver is bypassed for the execution duration of tcpreplay and tcpreplay-edit, and network buffers will be written to directly. This will allow you to achieve full line rates on commodity network adapters, similar to rates achieved by commercial network traffic generators.

Note that bypassing the network driver will disrupt other applications connected through the test interface. For example, you may see interruptions while testing on the same interface you ssh’ed into.

FreeBSD 10 and higher already contains netmap capabilities and will be detected by configure. To enable netmap on the system you will need to recompile the kernel with device netmap included.

For Linux, download latest and install netmap from http://info.iet.unipi.it/

luigi/netmap/ If you extracted netmap into /usr/src/ or /usr/local/src you can build without extra configure options. Otherwise you will must specify the netmap source directory, for example:

You can also find netmap source at http://code.google.com/p/netmap/

Netmap Installation Video

Advanced Options

There are quite a few configure time options for tcpreplay which allow you to control a lot of things. Some of the more interesting ones are:

  • –enable-debug – useful for debugging bugs and crashes.
  • –enable-64bits – use 64 bit counters to handle large pcap files & looping
  • –enable-libnet – link to libnet. Note that libnet support has been deprecated due to various bugs which have not been fixed in over a year.
  • –with-libnet – specify root path to libnet (something like –with-libnet=/usr/local)
  • –with-libpcap – specify root path to libpcap
  • –with-netmap – specify root path to netmap
  • –with-tcpdump – specify path to tcpdump executable
  • –enable-tcpreplay-edit – compile tcpreplay with packet editing support

You can also manually select a particular method to inject packets:

  • –enable-force-pf – force tcpreplay to use Linux’s PF_PACKET to send packets
  • –enable-force-bpf – force tcpreplay to use Free/Net?/OpenBSD or OS X’s BPF interface to send packets
  • –enable-force-libnet – force tcpreplay to use Libnet to send packets
  • –enable-force-inject – force tcpreplay to use Libpcap’s pcap_inject() API to send packets
  • –enable-force-sendpacket – force tcpreplay to use Libpcap’s pcap_sendpacket() API to send packets

If you’re having compatibility issues with a system-installed GNU Autogen, you may want to consider these options:

  • –disable-local-libopts – Don’t use the libopts tearoff supplied with tcpreplay (default is enabled)
  • –disable-libopts-install – don’t install the libopts library files

Special Instructions for Windows

Consider Windows support for Tcpreplay is experimental — beta quality if you will. We strongly recommend you read the page about how to get support for Tcpreplay.

With that said, you’ll need Cygwin to compile/run tcpreplay. You’ll also need to install Winpcap — the port of libpcap for Windows. For whatever reason, it seems important that you install the Winpcap files in the Cygwin root directory (/Wpdpack).

Be sure to install both the driver and DLL files AND developer pack. Then when you run ./configure, you’ll need to specify the location for Winpcap using the —with-libpcap flag, but use all lowercase: ./configure —with-libpcap=/wpdpack .

After that, for the most part things should just work. There are some caveats; a few features and make test don’t work, but for the most part they seem to be pretty minor.

For more detailed instructions, see the Win32Readme.txt.

Note: We’ve been informed that the guile Cygwin package is broken. This horribly breaks parts of GNU Autogen — specifically the parts which allow you to build Tcpreplay via GitHub. Hence, I strongly recommend grabbing a tarball release.

Need Help?

Having problems? Try asking for help on the tcpreplay-users mailing list or check out the Support section.

Open Source on GitHub
Maintained by
Sponsored by AppNeta

Настраиваемый аналог tcpreplay для UDP?

Есть приложение которое принимает по UDP запросы от внешней железки.
Для тестирования хотелось бы генерировать эти запросы локально, чтобы не зависеть от внешних факторов и делать это быстрее.
Условия:
1. Приложение ожидает пакеты с определённого IP адреса, локально я такой на интерфейс назначить не могу.
2. Есть дамп пакетов, т.е. структура известна
Вопрос:
Можно ли и если можно то чем, используя существующий дамп генерировать запросы локально, гибко меняя нужные поля?
Использование существующего дампа непринципиально, но это сэкономило бы время, а то вручную его воспроизводить слишком муторно
Подумывал о какой-нибудь библиотеке для питона, но инструмент в общем тоже непринципиален.

Читайте также:  Node js windows web server

А вообще, что мешает отвязаться от IP и тестить с localhost?

специфика сети и всего решения в целом делает отвязку от IP слишком геморройной.

предложенные варианты на первый взгляд позволяют модифицировать только заголовки на L2/L3/L4 (и непонятно можно ли будет сгенерировать пакет от нелокального адреса) покурю маны поглубже возможно ли более гибкое изменение пакета

1. Приложение ожидает пакеты с определённого IP адреса, локально я такой на интерфейс назначить не могу.

Что мешает создать изолированный VLAN и назначить там любые адреса, которые вздумается?

гм. Если ядро с transparent proxy, то можно биндить сокет на не локальный адрес и слать с него пакеты.

Я обычно скармливал .pcap через tap-интерфейс при помощи простенького перлового скрипта, когда тестировал nDPI.

Больше 800мбит получить не удавалось, пришлось переписать на сях.

tcpreplay

tcpreplay — набор консольных C (си) утилит для инициирования сессий на основе перехваченного трафика, утилиты для редактирования и воспроизведения PCAP-файлов.

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

Давшая название набору утилита tcpreplay воспроизводит PCAP файлы с произвольной скоростью, tcprewrite позволяет редактировать и создавать PCAP файлы, tcpreplay-edit редактирует PCAP файлы и воспроизводит их в сети, tcpprep создаёт файлы кеша определений клиент/сервер (используемых tcpreplay и tcprewrite).

Утилита tcpbridge обеспечивает соединение двух сегментов сети (с помощью tcprewrite), tcpliveplay воспроизводит распознаваемые серверами TCP PCAP файлы, tcpcapinfo предназначается для декодирования и отладки PCAP-файлов (например созданных утилитой tcpdump).

Повторная генерация потока с помощью набора утилит tcpreplay может быть полезна для оценки поведения различных приложений на различные атаки, при изучении причин сбоев в сетевом программном обеспечения или проведения нагрузочного тестирования (можно менять интенсивность отправки пакетов).

Лицензия: GNU General Public License version 3.0 (GPLv3)

Network: работа с pcap – сбор и анализ (Wireshark/tshark, tcpdump, packetdump), редактирование (hex editor, tcprewrite, bittwiste, editcap, mergecap, wireedit), воспроизведение (tcpreplay, bittwist), анонимизация, комплексные продукты (moloch, observer)

СБОР и АНАЛИЗ

Wireshark

Разное

  • курс “Wireshark: Packet Analysis and Ethical Hacking: Core Skills” на GNS3. В целом базовый (уровень CCNA), но есть интересные вещи – например, тут увидел полноценную эмуляцию VoIP с sofphone/call manager в среде GNS3.
  • изначально проект Wireshark назывался Ethereal
  • идентификация данных о хосте на основе pcap (из dhcp, nbns, http, kerberos)
  • упражнения по анализу трафика с атаками
  • пример выдачи IP по DHCP с работой ARP
  • много разных дампов можно найти тут
  • Альтернативы *nix tcpdump на оборудовании security вендоров, все они, включая tcpdump представлены на крутом сайте tcpdump101.com, который позволяет создавать фильтры (конструктор фильтров) в GUI:
    • fw monitor – CheckPoint
    • packet capture – cisco
    • diag sniffer – fortigate
  • Альтернатива tcpdump в Windows – windump. По командам почти полный аналог. Из явного отличия – работать нужно строго по ID, а не имени интерфейса из вывода “windump.exe -D”
  • Не используем русский интерфейс т.к. мануалов и статей намного больше англоязычных, чем каких либо других
  • Легко можно экспортировать информацию из дампа открытого в Wireshark в csv/excel с сохранением строк/столбцов, что может пригодиться при аналитике

    Wireshark по умолчанию кладет весь дамп в оперативку. Дамп 6GB – будет 6GB занято в оперативке.

    НО такие объемные дампы лучше не делать, а использовать функционал по созданию каждые N-пакетов/секунд/байт нового файла в Output настройках Wireshark (настраивается перед стартом захвата).

    Analyze -> Expert Info. Очень удобно понять были ли duplicated ack/retransmissions и прочие проблемы (см. раздел Notes).

    Wireshark показывает Checksum Ethernet только в случае, если его сохранила сетевая карта, а это редко. Пример дампа с наличием CRC/FCS – eth-crc-fcs.pcap. Поэтому, смотря в дамп трафика Wireshark:

    • можно думать, что конец фрейма одинаковый у фреймов с одинаковым payload, но разными SRC/DST адресами, но по факту он отличается т.к. checksum фрейма отличается (напр. различие в окончании фрейма ярко видно в пакетном конструкторе Ixia IxExplorer)
    • можно некорректно рассчитывать размер фрейма – нужно прибавлять 4 байта к тому, что видим в Wireshark (4 байта чаще всего представляются в виде 8ми hex символов, сгруппированных по два)

  • Wireshark может расшифровать зашифрованные данные, если дать ему нужную ключевую информацию (например, дав ему пароль от Wi-Fi для WEP/WPA сети, IPsec, SSL/TLS-сессии).
  • Найти пароль в протоколах, не использующих шифрование (telnet, snmp, http, SIP/RTP, etc). Причем по follow tcp stream можно посмотреть весь текстовый обмен – красным отправленные данные, синим полученные (дубли для некоторых т.к. сервер подтверждает прием от клиента символов).

  • Собрать телефонный VoIP звонок из stream
  • Можно посмотреть задержку в stream
  • Собрать файл из stream SMB/FTP/HTTP/etc
  • Собрать страницу из HTTP пакетов (follow TCP stream)
  • Легко посмотреть задержку между пакетами – delta time.

  • В Wireshark есть выгрузка object из дампов – можно картинки просмотренного сайта выгрузить, страницы html

  • Можно искать запросы к определенным URL (можно и в tcpdump, но проще куда в акулке)
  • Продуманный интерфейс: Сразу можно посмотреть и HEX и ASCII репрезентацию данных, отсортировать пакеты, увидеть проблемы по цвету, отфильтровать вывод и прочпроч

Wireshark не только с точки зрения удобства использования лучше tcpdump, он считается и намного более мощным инструментом в сравнении с ним, особенно когда идет вопрос в анализе уровня приложений (поддержка более 2к протоколов, даже таких как USB/Bluetooth/Zigbee). Так же использует libpcap. Кроме того у Wireshark есть консольная утилита tshark (terminal-shark), которая по сути устраняет необходимость в tcpdump вовсе (сори, tcpdump). Например, можно использовать фильтры, аналогичные wireshark в консоли.

Читайте также:  Ноутбук compaq установка windows
Фильтры

Фильтры бывают двух видов:

  • display filters – применяемые на уже захваченный трафик, чаще всего используются именно они

  • capture filters – применяемые при перехвате трафика, используются при больших объемах данных или заведомо зная, что мы ищем в трафике. Синтаксис capture filters отличается от display filters, но соответствуетсинтаксисуtcpdump.

Очень полезная вещь, которая позволяет не знать синтаксис:

  • apply as a filter – применяешь нажав ПКМ по информации из полей пакетов или по самому пакету в brief view. Причем
    • можно выбрать как подпадания (Selected), так и все записи, которые отличаются от нашей (Not Selected)
    • можно дополнять фильтр другими полями, используя между выражениями булевую логику (and/or selected, not/or selected)
  • conversational filter – позволяет показать только взаимодействие двух участников на каком-либо уровне адресации. Очень удобно. К примеру, находим все пакеты между 15.1.1.2 15.1.1.1 с использованием номеров портов 11451 и 179.

  • drag and drop (новые версии) – тянешь любое значения из поля любого пакета и тебе просто показывается синтаксис (можешь дотянуть до фильтра или просто узнать, что нужно вводить в нем)!
Профили (profiles)

Можно создать разные профили под разные задачи – default_with_time_diff, Multicast, VOIP, RIP/OSPF/BGP/etc. В профилях будут уникальные настройки интерфейса – zoom, расположение панелей, шрифты (размер, цвета), можно добавить уникальные столбцы (тот же timediff только в отдельном профиле).

RTT

statistics -> tcp stream graph -> round trip time

VoIP

  • sngrep это утилита для анализа SIP/VoIP трафика в консоли Linux сервера.
  • Wireshark очень полезен для диагностики VoIP.

Заходим в контекст Telephony, выбираем VoIP Calls. Видим звонки успешные и не очень. Так же видим и активные звонки.

Выбрав звонок и нажав на Flow Sequence можно посмотреть наглядно весь процесс согласования.

А по Play Streams можно даже прослушать звонок (если он успешен и поддерживается кодек, как тут G.711A), через встроенный в акулу RTP player. Круто!

Разговор в VoIP состоит из двух unicast RTP потоков – один от src до dst, второй от dst до src. По analyse можно посмотреть детальные данные (max jitter, RTP packets, lost, etc) по каждому потоку.

Пример дампа с разговором (из курса GNS3 Wireshark: Packet Analysis and Ethical Hacking: Core Skills). Для прослушивания RTP потока нужно сделать decode as по одному из UDP пакетов разговора и выбрать протокол RTP для интерпретирования.

Время

В настройках просмотра можно выбрать формат времени – например, не на основе старта снятия дампа, а реальное время с датой.

Статистика

В разделе statistics можно узнать кучу разных вещей (только часть):

  • общая статистика по файлу:
    • дата/время первого и последнего пакета
    • размер дампа
    • количество пакетов
    • время съема трафика
    • средний pps, packet size, bits/s

  • распределение по протоколам в protocol hierarchy, причем можно посмотреть на эти данные в самом дампе, применив стандартный Apply as a filter в статистике

  • по размерам пакетов в packet lengths

  • найти top talkers в endpoints (MAC, IP4/6, UDP, TCP)

  • проанализировать взаимодействие между хостами по объему трафика в conversations (MAC, IP4/6, UDP, TCP)

  • проанализировать взаимодействие между хостами по передаваемым сообщениям (транзакциям), сохраняя их последовательность в flow graph. Очень удобно, что используя стандартный фильтр можно посмотреть конкретное взаимодейтсвие (в статистике прожать “Limit to display filter”) – к примеру ниже отфильтрованное взаимодействие только по DHCP.

tcpdump
    Tcpdump – по сути консольная лайт версия Wireshark/Tshark. Дампы tcpdump, кстати, читаются легко Wireshark, что делает его очень полезной утилитой

tcpdump (да и wireshark) может дропать трафик при большом объеме. Главное узкое место – скорость ЖД. Сделал несколько генераций одного трафика. В первом pcap меньше данных и нет всех пакетов если открыть в Wireshark. При этом все пакеты пришли по назначению во все итерации.

  • Полное или частичное отсутствие пакетов в дамп-файле при наличии их в GUI выводе может говорить о потерях пакетов на уровне жесткого диска – у меня при подобных симптомах наблюдался дефицит памяти
    • Tcpdump работает на почти любые типы интерфейсов, которые идентифицируются системой (не DPDK): sub интерфейсы, bridge интерфейсы, туннельные интерфейсы и даже loopback
    • Tcpdump может при старте не показывать какое-то время наличие пакетов на интерейсе, особенно если не отключен DNS resolve через -n
    • При передаче файлов с дампами по сети, всегда нужно учитывать, что Wireshark/tcpdump не ужимают дампы, а после сжатия обычным zip/rar файл может весить в десятки раз меньше (gzip c 800MB до 50MB, 7z c 800MB до 20MB).

    tcpdump использует open source libpcap библиотеку. Показывает (STDOUT) по умолчанию данные в terminal. Может писать в файл дамп или читать из файла. По умолчанию показывает brief информацию в удобном для человека формате – IP адреса там например через точку или по умолчанию он даже делает reverse lookup (PTR) или номера портов подменит на сервисы, но конечно все равно не так удобно как Wireshark.

    tcpdump требует прав админа для запуска. Минимум ему нужно скормить название ip интерфейса через опцию -i (узнать его можно через ifconfig/ip link). По результату будет показана статистика. По умолчанию будет показана базовая инфа – layer 3 protocol, source, and destination addresses and ports, TCP details, like flags, sequence and ack numbers, window size, and options.

    Есть поддержка фильтров, как базовых, так и довольно сложных (напр. L4). Возможна комбинация фильтров (см. usage).

    packetdump

    Читаем последние логи для интерфейса:

    Python + pyshark
    Редактирование
    PYTHON + SCAPy

    Самый удобный способ когда нужно сделать более чем одно действие по изменению сетевых дампов. Легко можно сделать даже непростые операции, например, заменить все сетевые (MAC, IP, PORT) адреса в дампе на другие, IPv6 header на IPv4. Замена IPv6 header на IPv4 подразумевает извлечение payload, создание IPv4 header, добавление в него payload, пересчет checksum и length (см. в HEX EDITORS).

    Подробнее в python поиском по scapy.

    Читайте также:  Стандартное приложение сканер windows 10
    hex editors

    Самый хардкорный 🙂 способ изменения дампов. Подразумевает и пересчет checksum, тут может помочь tcprewrite.

    К примеру, c помощью hex editor ipv6 header заменить на ipv4 не так просто (особенно, в сравнении со python + scapy):

    1) изменяем hex строку. Много разных способов, хорошо с gif описано тут.

    2) после изменения нужно использовать pcapfix (причина однозначно непонятна, возможно, разрушается структура при экспорте)

    3) IPv6 header меняется от пакета к пакету, даже с учетом совпадения адресов SRC/DST – flow label в пакетах дампа зачастую разный, payload length так же разный; поэтому при массовой замене нужно заменять в HEX с помощью regexp

    4) IPv4 header должен иметь корректный total length от IPv4 header + payload; т.е. при каждой замене нужно корректировать total length для каждого пакета, иначе пакет будет отбрасываться еще на уровне ядра ОС (Linux, Windows)

    5) Checksum может не пересчитываться tcprewrite с segmentation fault (помог запуск tcprewrite на другой VM)

    И все это нужно делать для всех пакетов в дампе.

    tcprewrite

    Хороший, хотя и базовый, редактор дампов.

    • Usage
    • Ставится совместно с последним tcpreplay (apt-get install tcpreplay)
    • Если воспроизвести корректно дамп с icmp request (dst ip) хост, на который прилетит трафик, может ответить icmp reply. Аналогичное справедливо и для любых других серверных приложений.

    Change MAC

    Change IP

    Можно менять по net/mask, если не использовать опцию -fixsum, то чексумма может не пересчитаться.

    bittwist/bittwiste

    Хорошие, но старые утилиты для воспроизведения/генерации трафика (bittwist) и редактирования pcap (bittwiste). Bittwiste не поддерживает IPv6.

    Может помочь удалить лишние инкапсуляции

    dsniff

    старая хакер-утилита, по сути “wireshark” который показывает только payload открытых протоколов в перехваченном трафике и вычленяет оттуда явки-пароли.

    WireEdit

    Хороший продукт для редактирования pcap. У самого Wireshark была beta с возможностью edit, но видимо дальше беты не зашло.

    С помощью WireEdit в пару кликов можно поменять любые поля (в том числе массовые замены) и пересчитать checksum. Требует лицензию (высылают на почту при регистрации, сейчас с этим стало сложнее).

    Продукт развивается, пример добавлений в новом релизе:

    SPLIT PCAP

    Разбиваем крупный pcap на несколько дампов по 100 MB (tcpdump).

    Разбиваем крупный pcap на несколько дампов по миллиону пакетов (editcap).

    editcap + mergecap

    Поменять order пакетов можно с помощью editcap + mergecap. Сначала с помощью edit создаем pcap с отдельными пакетами из необходимого дампа, потом merge’им с помощью mergecap.

    Воспроизведение
    pfsend

    pfsend позволяет создавать большую нагрузку в сравнении с tcpreplay без кастомизаций (netmap, preload). Основан не на netmap/DPDK, а на pfring.

    Tcpreplay
    • Про promiscuous режим можно почитать тут. Хотя мне не понадобилось его включение. Чаще всего утилиты его включают сами.
    • Основной недостаток – stateless. Полноценного TCP нет.
    • Tcpreplay по умолчанию стремится повторить pcap с точки зрения задержек между пакетами и уложить все за время снятия дампа!

      performance tuning results

      dump size

      Не только preload/nemap помогают увеличить создаваемую нагрузку, но даже простое уменьшение дампа. Причем прирост после уменьшения может быть больше чем прирост от использования preload. К примеру – уменьшил дамп с 3GB до 300MB (аналогично и для 100MB) – прирост нагрузки в 5 раз. Добавил preload-pcap – прирост в 6 раз (по сравнению с первоначальной нагрузкой).

      объем памяти

      Причем на множество файлов tcpreplay открывает их все сразу – для preload в таком случае нужен большой объем оперативной памяти. Прирост при этом в генерируемой нагрузке не факт, что будет высокий.

      taskset

      Из интересного так же – Taskset двух процессов tcpreplay по разным интерфейсам не увеличивал суммарную нагрузку.

      tcpreplay-edit с fuzzing

      Может падать с segmentation fault (segfault) на какие-то дампы/каких-то сборках, так же как tcprewrite.

      Запуск простейший, поддерживаются те же опции, что в “обычном” tcpreplay и дополнительные, например нужные нам fuzz-seed и fuzz-factor.

      • fuzz-seed – seed value для рандомизации (по аналогии с isic)
      • fuzz-factor – сколько пакетов подпадает под fuzzing (с единицей каждый пакет). При fuzz-factor=1 скорость генерации уменьшается (может в несколько раз!) т.к. утилите приходится менять каждый пакет.

      tcpreplay с netmap

      Для high performance можно использовать tcpreplay с netmap. Производительность в таком случае до line rate, что делает инструмент сопоставимым с commercial traffic generators на “обычных” сетевых картах.

      По практике netmap дает вполне ощутимый прирост в генерации на 20-30% на 10G сетевых картах – напр. с 6 GBPS до 8-9. На 1G NIC может быть даже деградация, поэтому зачастую нет смысла на них использовать netmap.

      Сборка netmap.

      Запуск tcpreplay с netmap.

      Для запуска требуются установленные в ядро драйвера netmap (netmap.ko) и сетевой карты (напр. ixgbe.ko, igb.ko, igb_uio.ko, e1000e), иначе будет ошибка. Загружаем в ядро драйвер с помощью insmod.

      Можно так же проверить lsmod, ls /dev/netmap. Просмотреть путь до всех модулей ядра/драйверов можно используя awk + xargs.

      Выгрузить драйвер можно с помощью rmmod и modprobe.

      Получить информацию о модуле (например, Linux kernel, на которой был собран модуль) можно с помощью modinfo. Модуль сильно зависит от ядра, поэтому по умолчанию не запустится на другом ядре. В теории может помочь функция -f для insmod, но по факту у меня она к успеху не приводила – были ошибки некорректного формата. В таком случае нужно пересобирать модуль для нового ядра.

      Анонимизация
      Комплексные продукты

      Moloch – система сбора/анализа/хранения/индексации дампов в формате pcap. Идея – не замена IDS, а максимальная видимость сети (network visibility). Сайт moloch. Использует elasticsearch для поиска в дампах. Может быть использован в Big Data, Forensics. Имеет api. Доступ к дампам на сенсорах может быть через WEB HTTPS или API, есть поддержка шифрования дампов. Проект активно развивается (last release буквально за месяц до написания этого текста). Использует java environment, могут быть проблемы с установкой и работой (удаление файлов).

    Оцените статью