Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
tcpflow — Демультиплексор пакетов TCP/IP. Скачать с: | Kitploit
Инструменты/GitHubGitHub/simsong/tcpflow
Сниффинг и анализ пакетовСетевая криминалистикаФорензикаЦифровая криминалистика
GitHubsimsong/tcpflow

tcpflow

Демультиплексор пакетов TCP/IP. Скачать с:

РепозиторийСайт
1.8k245318 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

TCPFLOW CI (c++14)

TCPFLOW 1.5.0

Директория загрузок: http://digitalcorpora.org/downloads/tcpflow/

Установка

В большинстве распространённых дистрибутивов GNU/Linux tcpflow уже есть в репозиториях. Поэтому в Debian/Ubuntu и подобных можно выполнить:

sudo apt-get install tcpflow

а в Fedora/RedHat/CentOS и подобных:

sudo dnf install tcpflow

И всё. Если по какой-то причине этого недостаточно, можно собрать из исходников:

Сборка из исходников

Для компиляции под Linux

Убедитесь, что у вас есть все необходимые предварительные зависимости. В корневом каталоге есть файлы, которые сделают это за вас, в зависимости от вашей операционной системы:

CONFIGURE_ARCH_17_8.sh CONFIGURE_FEDORA_18.sh CONFIGURE_FEDORA_26.sh CONFIGURE_UBUNTU_16_04.sh

В зависимости от вашей ОС просто выполните:

# sudo bash CONFIGURE_<ВАША_ОС>.sh

После настройки ОС скомпилируйте и установите с помощью:

./configure
make
sudo make install

Если вы хотите загрузить дерево разработки через git, обязательно выполните полный checkout с --recursive, а затем запустите bootstrap.sh, configure и make:

git clone --recursive https://github.com/simsong/tcpflow.git
cd tcpflow
bash bootstrap.sh
./configure
make
sudo make install  

Для загрузки и компиляции под Amazon AMI:

ssh ec2-user@<ваш экземпляр ec2>
sudo bash yum -y install git make gcc-c++ automake autoconf boost-devel cairo-devel libpcap-devel openssl-devel zlib-devel
git clone --recursive https://github.com/simsong/tcpflow.git
sh bootstrap.sh

Для компиляции под Windows с mingw на Fedora Core:

yum -y install mingw64-gcc mingw64-gcc-c++ mingw64-boost mingw64-cairo mingw64-zlib
mingw64-configure
make

Для использования CMake см. подробные инструкции: cmake/README.md

Сборка RPM

Из чистого репозитория от обычного пользователя (не root):

./bootstrap.sh     # Генерирует файл ./configure
./configure        # Генерирует файл tcpflow.spec
rpmbuild -bb tcpflow.spec --build-in-place

Проверьте spec-файл и полученный RPM:

rpmlint tcpflow.spec
rpmlint ~/rpmbuild/RPMS/x86_64/tcpflow-....rpm

Установка:

sudo dnf install ~/rpmbuild/RPMS/x86_64/tcpflow-....rpm

Введение в tcpflow

tcpflow — это программа, которая захватывает данные, передаваемые в рамках TCP-соединений (потоков), и сохраняет их в удобном для анализа протоколов и отладки виде. Каждый TCP-поток сохраняется в отдельный файл. Таким образом, типичный TCP-поток сохраняется в два файла — по одному для каждого направления. tcpflow также может обрабатывать сохранённые пакетные потоки tcpdump.

tcpflow сохраняет все захваченные данные в файлы с именами следующего вида:

   [временная_меткаT]исходный_ip.исходный_порт-целевой_ip.целевой_порт[--VLAN][cNNNN]

где: временная_метка — необязательная метка времени первого пакета T — разделитель, указывающий, что временная метка была предоставлена исходный_ip — IP-адрес источника исходный_порт — порт источника целевой_ip — IP-адрес назначения целевой_порт — порт назначения VLAN — VLAN-порт c — разделитель, указывающий на наличие нескольких соединений NNNN — счётчик соединений, когда существует несколько соединений с одинаковой комбинацией [время]/исходный_ip/исходный_порт/целевой_ip/целевой_порт. Обратите внимание, что счётчик соединений редко используется, если применяется префикс временной метки.

Вот несколько примеров:

   128.129.130.131.02345-010.011.012.013.45103

Содержимое указанного выше файла будет представлять данные, переданные от хоста 128.129.131.131 порт 2345, к хосту 10.11.12.13 порт 45103.

   128.129.130.131.02345-010.011.012.013.45103c0005

Шестое соединение от 128.129.131.131 порт 2345, к хосту 10.11.12.13 порт 45103.

   1325542703T128.129.130.131.02345-010.011.012.013.45103

Соединение от 128.129.131.131 порт 2345, к хосту 10.11.12.13 порт 45103, которое началось в 17:19 (-0500) 2 января 2012 года.

   128.129.130.131.02345-010.011.012.013.45103--3

Соединение от 128.129.131.131 порт 2345, к хосту 10.11.12.13 порт 45103, которое было замечено на VLAN-порту 3.

Вы можете изменить шаблон, используемый для создания имён файлов, с помощью опций -F и -T. Если в шаблоне указан каталог, он будет создан автоматически.

При использовании опции -a tcpflow будет автоматически интерпретировать HTTP-ответы.

   Если выходной файл
      208.111.153.175.00080-192.168.001.064.37314,

   то постобработка создаст файлы:
      208.111.153.175.00080-192.168.001.064.37314-HTTP
      208.111.153.175.00080-192.168.001.064.37314-HTTPBODY

   Если HTTPBODY был сжат с помощью GZIP, вы можете получить и
   третий файл:

      208.111.153.175.00080-192.168.001.064.37314-HTTPBODY-GZIP

   Дополнительная информация об этих потоках, например их MD5-хэш,
   также записывается в файл DFXML.

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

tcpflow понимает порядковые номера и правильно реконструирует потоки данных независимо от повторных передач или доставки не по порядку. Однако в настоящее время tcpflow не обрабатывает IP-фрагменты; потоки, содержащие IP-фрагменты, не будут записаны корректно.

tcpflow может выводить сводный отчёт в формате DFXML. Этот файл содержит информацию о системе, в которой была скомпилирована программа tcpflow, о месте её запуска, а также о каждом TCP-потоке, включая IP-адреса и порты источника и назначения, количество байтов, количество пакетов и (опционально) MD5-хэш каждого байтового потока.

tcpflow использует библиотеку захвата пакетов LBL (доступна по адресу ftp://ftp.ee.lbl.gov/libpcap.tar.Z) и поэтому поддерживает те же богатые выражения фильтрации, что и такие программы, как tcpdump. Она должна компилироваться в большинстве популярных версий UNIX; подробности см. в файле INSTALL.

Какая от него польза?

tcpflow — полезный инструмент для понимания сетевых пакетных потоков и проведения сетевой криминалистики. В отличие от таких программ, как WireShark, которые показывают множество пакетов или одно TCP-соединение, tcpflow может показать сотни, тысячи или сотни тысяч TCP-соединений в контексте.

Обычное применение tcpflow — раскрытие содержимого HTTP-сессий. С помощью tcpflow можно реконструировать веб-страницы, загруженные по HTTP. Можно даже извлечь вредоносное ПО, доставленное как «загрузка по ссылке» (drive-by download).

Джереми Элсон (Jeremy Elson) первоначально написал эту программу для захвата данных, отправляемых различными программами, использующими недокументированные сетевые протоколы, в попытке обратного проектирования этих протоколов. RealPlayer (и большинство других потоковых медиаплееров), ICQ и AOL IM — хорошие примеры таких приложений. Позже программа стала использоваться для анализа HTTP-протоколов.

Симсон Гарфинкель (Simson Garfinkel) основал Sandstorm Enterprises в 1998 году. Sandstorm создала программу, похожую на tcpflow, под названием TCPDEMUX и другую версию программы под названием NetIntercept. Эти программы являются коммерческими. После ухода из Sandstorm у Симсона возникла необходимость в программе для сборки TCP-потоков. Он нашёл tcpflow и взял на себя её поддержку.

Ошибки

Пожалуйста, сообщайте об ошибках в трекере issues на GitHub

Скачать инструмент