Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Packet-Sniffer — Sniffer de pacotes de rede baseado em socket bruto que captura e desmonta pacotes TCP/IP de interfaces de rede para análise de segurança e uso educacional. | Kitploit
Ferramentas/GitHubGitHub/eonraider/packet-sniffer
Sniffing e Análise de PacotesColeta de InformaçõesSegurança de RedeAprendizado e Educação
GitHubeonraider/packet-sniffer

Packet-Sniffer

Sniffer de pacotes de rede baseado em socket bruto que captura e desmonta pacotes TCP/IP de interfaces de rede para análise de segurança e uso educacional.

Ver Repositório
786111111há 21 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
# RootWire

[![CodeFactor](https://www.codefactor.io/repository/github/eonraider/rootwire/badge)](https://www.codefactor.io/repository/github/eonraider/rootwire)
[![CI](https://github.com/EONRaider/RootWire/actions/workflows/ci.yml/badge.svg)](https://github.com/EONRaider/RootWire/actions/workflows/ci.yml)
[![PyPI](https://img.shields.io/pypi/v/rootwire)](https://pypi.org/project/rootwire/)
![Python Version](https://img.shields.io/badge/python-3.12+-blue?logo=python)
![OS](https://img.shields.io/badge/OS-GNU/Linux-red?logo=linux)
[![License](https://img.shields.io/github/license/EONRaider/RootWire)](LICENSE)

Um monitor de tráfego de rede para GNU/Linux — *anteriormente conhecido como
Packet-Sniffer*. Os frames são capturados de uma ou mais interfaces de
rede com um raw socket, com timestamp gerado pelo próprio kernel,
decodificados camada por camada com a biblioteca
[NETProtocols](https://github.com/EONRaider/NETProtocols), e
renderizados ao vivo, gravados em pcap com precisão de nanossegundos, ou transmitidos como
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)
```

O decodificador cobre Ethernet (tags VLAN 802.1Q, incluindo marcação QinQ
aninhada), ARP, IPv4 (**opções decodificadas** e fragmentos), IPv6
**incluindo cabeçalhos de extensão** (um relatório MLD renderiza sua cadeia
Hop-by-Hop completa) e **Neighbor Discovery** (uma Router/Neighbor
Solicitation ou Advertisement mostra seu endereço de destino e opções de
camada de enlace), ICMPv4/v6, TCP (offsets de payload cientes de opções, **opções
decodificadas**) e UDP. Todo checksum IPv4/ICMPv4/ICMPv6/TCP/UDP é
verificado contra uma recomputação, sinalizando uma incompatibilidade inline
(`Checksum: 0x0000 [!] mismatch (expected 0x1a2b)`) — um sinal real
para tráfego corrompido ou falsificado, silencioso para um fragmento não
remontado, onde o checksum do fio cobre um datagrama que o RootWire nunca
reconstrói. Frames malformados ou truncados são diagnosticados em vez de
derrubar a captura, protocolos desconhecidos encerram a cadeia graciosamente, e
um limite de 16 camadas impede que pilhas de cabeçalhos de extensão forjadas amplifiquem —
a captura sobrevive a tudo o que a rede entregar.

## Instalação

```
pipx install rootwire        # or: uv tool install rootwire
```

Ou execute a partir de um clone com [uv](https://docs.astral.sh/uv/):

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

## Uso

```
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)
```

As estatísticas de captura — frames, bytes, frames/s, contagens de
malformados/truncados, totais por protocolo — são reportadas em stderr quando a captura
termina, seja por Ctrl-C, `SIGTERM`, ou (para `-r`) fim de arquivo: todos
os três disparam o mesmo encerramento limpo. Algumas combinações favoritas:

```
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
```

A captura ao vivo precisa de um raw socket, o que no Linux significa root
(`sudo rootwire -i eth0`) ou conceder ao interpretador a
capacidade `CAP_NET_RAW`. Reproduzir arquivos com `-r` nunca precisa de
privilégios. A partir de um clone, execute como `sudo .venv/bin/python -m rootwire`.

## Como funciona

O `capture_async()` de `capture.py` produz frames brutos — mesclados de um
socket `AF_PACKET` por interface, cada um com timestamp gerado pelo próprio kernel
na chegada (`SO_TIMESTAMPNS`, não uma leitura de relógio em espaço de usuário) — como
triplas `(bytes, timestamp, interface)`; reproduzir de um arquivo com
`-r` adapta os frames de `pcap.py`
para essa mesma forma antes que qualquer fonte chegue a `decoder.py`, que
percorre a cadeia de protocolos de cada frame em um `DecodedFrame` imutável.
As saídas — o renderizador de tela, o stream NDJSON, o gravador pcap, o
coletor de estatísticas — consomem cada frame através de uma pequena interface
`Output`. O tour completo, incluindo por que a memória permanece estável durante capturas
longas e como adicionar uma saída, está em
[ARCHITECTURE.md](https://github.com/eonraider/packet-sniffer/blob/master/ARCHITECTURE.md).

Tudo exceto o raw socket roda em qualquer SO, então a suíte de testes —
que inclui um corpus de 65 frames de tráfego real capturado reproduzido
por todo o pipeline — não precisa nem de root nem de Linux:

```
uv run pytest
```

## Contribuindo

Relatórios de bugs e pull requests são bem-vindos. [CONTRIBUTING.md](https://github.com/eonraider/packet-sniffer/blob/master/CONTRIBUTING.md)
cobre a configuração de desenvolvimento, as verificações que a CI executa, e como um bom pull request
se parece aqui.

## Aviso Legal

O uso do código contido neste repositório, seja em parte ou em sua
totalidade, para engajar alvos sem consentimento mútuo prévio é
ilegal. **É responsabilidade do usuário final obedecer a todas as leis
locais, estaduais e federais aplicáveis.**

Os desenvolvedores não assumem **nenhuma responsabilidade** e não são responsáveis por usos indevidos
ou danos causados por qualquer código contido neste repositório em qualquer
evento em que, acidental ou de outra forma, ele venha a ser utilizado por um
agente de ameaça ou entidade não autorizada como meio de comprometer a
segurança, privacidade, confidencialidade, integridade e/ou disponibilidade de
sistemas e seus recursos associados. Neste contexto, o termo
"comprometer" é doravante entendido como a alavancagem da exploração
de vulnerabilidades conhecidas ou desconhecidas presentes nos referidos sistemas, incluindo,
mas não se limitando a, a implementação de controles de segurança, humanos ou
habilitados eletronicamente.

O uso deste código é **somente** endossado pelos desenvolvedores naquelas
circunstâncias diretamente relacionadas a **ambientes educacionais** ou
**engajamentos de teste de penetração autorizados** cujo propósito declarado
seja o de encontrar e mitigar vulnerabilidades em sistemas, limitando
sua exposição a comprometimentos e exploits empregados por agentes maliciosos
conforme definido em seus respectivos modelos de ameaça.

## Licença

[AGPL-3.0](https://github.com/eonraider/packet-sniffer/blob/master/LICENSE)
Baixar ferramenta