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

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

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

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

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

Категории

Все категории
Loading categories
Packet-Sniffer — Сниффер сетевых пакетов на основе raw-сокетов, который захватывает и разбирает TCP/IP-пакеты с сетевых интерфейсов для анализа безопасности и образовательных целей. | Kitploit
Инструменты/GitHubGitHub/eonraider/packet-sniffer
Сниффинг и анализ пакетовСбор информацииСетевая безопасностьОбучение и Образование
GitHubeonraider/packet-sniffer

Packet-Sniffer

Сниффер сетевых пакетов на основе raw-сокетов, который захватывает и разбирает TCP/IP-пакеты с сетевых интерфейсов для анализа безопасности и образовательных целей.

Репозиторий
786111876 дней назадПроверено Kitploit

Популярное

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

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

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

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

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

RootWire

CodeFactor CI PyPI Python Version OS License

Монитор сетевого трафика для GNU/Linux — ранее известный как Packet-Sniffer. Кадры захватываются с одного или нескольких сетевых интерфейсов через raw-сокет, получают метку времени от самого ядра, декодируются слой за слоем с помощью библиотеки NETProtocols и отображаются в реальном времени, записываются в pcap с наносекундной точностью или передаются потоком в формате JSON:

[>] Frame #4 at 15:42:07 (wlan0, 74 bytes)
    [+] Ethernet 3c:7c:3f:1a:be:22 -> 9c:1e:95:aa:01:5f
        EtherType: IPv4
    [+] IPv4 192.168.1.96 -> 142.250.79.78
        TTL: 64 | Flags: Don't fragment (DF) | Total Length: 60 | ID: 39754
        Protocol: TCP | Checksum: 0x2b51
    [+] TCP 51888 -> 443
        Flags: 0x002 (SYN) | Seq: 3598801521 | Ack: 0
        Window: 64240 | Checksum: 0x2008
        Options: Maximum Segment Size (1460), SACK Permitted, Timestamps (3644437524, 0), No-Operation, Window Scale (7)

Декодер охватывает Ethernet (теги VLAN 802.1Q, включая вложенную тегирование QinQ), ARP, IPv4 (декодированные опции и фрагменты), IPv6 включая заголовки расширения (отчёт MLD отображает всю свою цепочку Hop-by-Hop) и Neighbor Discovery (Router/Neighbor Solicitation или Advertisement показывает целевой адрес и опции канального уровня), ICMPv4/v6, TCP (смещения полезной нагрузки с учётом опций, декодированные опции) и UDP. Каждая контрольная сумма IPv4/ICMPv4/ICMPv6/TCP/UDP проверяется путём пересчёта, а несоответствие отмечается прямо в строке (Checksum: 0x0000 [!] mismatch (expected 0x1a2b)) — реальный сигнал о повреждённом или поддельном трафике, молчащий для несобранного фрагмента, где контрольная сумма на проводе покрывает датаграмму, которую RootWire никогда не восстанавливает. Некорректные или усечённые кадры диагностируются вместо аварийного завершения захвата, неизвестные протоколы корректно завершают цепочку, а ограничение в 16 слоёв не даёт искусственным стекам заголовков расширения разрастаться — захват выдерживает всё, что передаёт сеть.

Установка

pipx install rootwire        # or: uv tool install rootwire

Или запуск из клона с помощью uv:

git clone https://github.com/EONRaider/RootWire.git
cd RootWire
uv sync

Использование

rootwire [-h] [-i INTERFACE] [-r FILE] [-w FILE]
         [--filter NAME_OR_EXPR] [--json] [-d] [--version]

options:
  -i, --interface   interface to capture frames from; repeat to capture on
                    several interfaces concurrently (default: all interfaces)
  -r, --read FILE   replay frames from a pcap or pcapng file instead of live
                    capture (no privileges required; mutually exclusive
                    with -i)
  -w, --write FILE  also write every captured frame to a classic pcap file
  --filter NAME_OR_EXPR
                    attach a kernel-side capture filter so only matching
                    frames reach userspace: a canned name (arp, ip6, tcp,
                    udp) or a filter expression -- protocols tcp/udp/icmp/
                    arp/ip/ip6; host/port, each optionally prefixed with
                    src/dst; and/or/not; parentheses (e.g. "tcp and port
                    80"); live capture only
  --json            one NDJSON object per frame on stdout (banner and
                    statistics stay on stderr): pipe straight into jq
  -d, --data        also display each frame's raw payload (ignored with --json)

Статистика захвата — кадры, байты, кадры/с, счётчики некорректных/усечённых кадров, подсчёт по протоколам — выводится в stderr по завершении захвата, будь то Ctrl-C, SIGTERM или (для -r) конец файла: все три случая запускают одно и то же чистое завершение. Несколько любимых комбинаций:

sudo rootwire -i eth0 -w session.pcap             # capture and keep the evidence
sudo rootwire -i eth0 --filter tcp                # drop non-TCP in the kernel
sudo rootwire -i eth0 --filter "tcp and port 80"  # kernel-side filter expression
sudo rootwire -i eth0 -i wlan0                    # merge two interfaces into one stream
rootwire -r session.pcap                          # inspect it later, no root
rootwire -r session.pcap --json | jq .            # machine-readable analysis

Для захвата в реальном времени нужен raw-сокет, что в Linux означает root (sudo rootwire -i eth0) или предоставление интерпретатору возможности CAP_NET_RAW. Воспроизведение файлов с -r никогда не требует привилегий. Из клона запускайте как sudo .venv/bin/python -m rootwire.

Как это работает

capture_async() из capture.py выдаёт сырые кадры — объединённые из одного сокета AF_PACKET на интерфейс, каждый с меткой времени от самого ядра в момент прибытия (SO_TIMESTAMPNS, а не чтение часов из пространства пользователя) — в виде троек (bytes, timestamp, interface); воспроизведение из файла с -r адаптирует кадры из pcap.py в ту же форму, прежде чем любой из источников достигнет decoder.py, который проходит по цепочке протоколов каждого кадра, формируя неизменяемый DecodedFrame. Выходы — экранный рендерер, поток NDJSON, модуль записи pcap, сборщик статистики — потребляют каждый кадр через один небольшой интерфейс Output. Полный обзор, включая объяснение того, почему память остаётся стабильной при длительных захватах и как добавить выход, находится в ARCHITECTURE.md.

Всё, кроме raw-сокета, работает в любой ОС, поэтому набор тестов — включающий корпус из 65 кадров реального захваченного трафика, воспроизводимый через весь конвейер — не требует ни root, ни Linux:

uv run pytest

Участие в разработке

Отчёты об ошибках и pull-запросы приветствуются. CONTRIBUTING.md описывает настройку среды разработки, проверки, выполняемые CI, и то, как выглядит хороший pull-запрос в этом проекте.

Правовая оговорка

Использование кода, содержащегося в этом репозитории, как частично, так и полностью, для воздействия на цели без предварительного взаимного согласия является незаконным. Ответственность за соблюдение всех применимых местных, региональных и федеральных законов лежит на конечном пользователе.

Разработчики не принимают на себя никакой ответственности и не несут ответственности за неправомерное использование или ущерб, вызванный любым кодом, содержащимся в этом репозитории, в любом случае, случайно или иным образом, если он будет использован угрожающим агентом или несанкционированным субъектом как средство для компрометации безопасности, приватности, конфиденциальности, целостности и/или доступности систем и связанных с ними ресурсов. В этом контексте термин «компрометация» далее понимается как использование эксплуатации известных или неизвестных уязвимостей, присутствующих в указанных системах, включая, но не ограничиваясь, реализацией средств контроля безопасности, как человеческих, так и электронных.

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