Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Packet-Sniffer — Sniffer di pacchetti di rete basato su socket grezzi che cattura e disassembla pacchetti TCP/IP dalle interfacce di rete per analisi di sicurezza e uso didattico. | Kitploit
Strumenti/GitHubGitHub/eonraider/packet-sniffer
Sniffing e Analisi dei PacchettiRaccolta InformazioniSicurezza di ReteApprendimento e Formazione
GitHubeonraider/packet-sniffer

Packet-Sniffer

Sniffer di pacchetti di rete basato su socket grezzi che cattura e disassembla pacchetti TCP/IP dalle interfacce di rete per analisi di sicurezza e uso didattico.

Vedi Repository
78611111121 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
# 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)

Un monitor del traffico di rete per GNU/Linux — *precedentemente noto come
Packet-Sniffer*. I frame vengono catturati da una o più interfacce di rete
tramite un raw socket, con timestamp generato dal kernel stesso, decodificati
strato per strato con la libreria
[NETProtocols](https://github.com/EONRaider/NETProtocols), e visualizzati in
tempo reale, scritti in un file pcap a precisione nanosecondo, oppure
trasmessi in streaming come 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)
```

Il decoder copre Ethernet (tag VLAN 802.1Q, incluso il tagging QinQ
annidato), ARP, IPv4 (**opzioni decodificate** e frammenti), IPv6
**inclusi gli header di estensione** (un report MLD mostra l'intera catena
Hop-by-Hop) e **Neighbor Discovery** (una Router/Neighbor Solicitation o
Advertisement mostra il suo indirizzo target e le opzioni di link-layer),
ICMPv4/v6, TCP (offset del payload consapevoli delle opzioni, **opzioni
decodificate**) e UDP. Ogni checksum IPv4/ICMPv4/ICMPv6/TCP/UDP viene
verificato tramite ricalcolo, segnalando inline una mancata corrispondenza
(`Checksum: 0x0000 [!] mismatch (expected 0x1a2b)`) — un segnale reale
per traffico corrotto o falsificato, silenzioso per un frammento non
riassemblato, dove il checksum sul filo copre un datagramma che RootWire
non ricostruisce mai. I frame malformati o troncati vengono diagnosticati
invece di far crashare la cattura, i protocolli sconosciuti terminano la
catena in modo controllato, e un limite di 16 strati impedisce che stack
di header di estensione artificiosi amplifichino — la cattura sopravvive
a qualunque cosa la rete consegni.

## Installazione

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

Oppure esegui da un clone con [uv](https://docs.astral.sh/uv/):

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

## Utilizzo

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

Le statistiche di cattura — frame, byte, frame/s, conteggi di
malformati/troncati, conteggi per protocollo — vengono riportate su stderr
al termine della cattura, che si tratti di Ctrl-C, `SIGTERM`, o (per `-r`)
fine del file: tutti e tre attivano lo stesso arresto pulito. Alcune
combinazioni preferite:

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

La cattura live richiede un raw socket, che su Linux significa root
(`sudo rootwire -i eth0`) oppure concedere all'interprete la capability
`CAP_NET_RAW`. La riproduzione di file con `-r` non richiede mai
privilegi. Da un clone, eseguilo come `sudo .venv/bin/python -m rootwire`.

## Come funziona

La funzione `capture_async()` di `capture.py` produce frame grezzi — uniti
da un socket `AF_PACKET` per interfaccia, ciascuno con timestamp generato
dal kernel stesso all'arrivo (`SO_TIMESTAMPNS`, non una lettura
dell'orologio in userspace) — come triple `(bytes, timestamp, interface)`;
la riproduzione da file con `-r` adatta i frame di `pcap.py` in quella
stessa forma prima che entrambe le sorgenti raggiungano `decoder.py`, che
percorre la catena di protocolli di ogni frame in un immutabile
`DecodedFrame`. Gli output — il renderer a schermo, lo stream NDJSON, il
writer pcap, il collettore di statistiche — consumano ogni frame attraverso
un'unica piccola interfaccia `Output`. Il tour completo, incluso il motivo
per cui la memoria rimane stabile durante catture prolungate e come
aggiungere un output, è in [ARCHITECTURE.md](https://github.com/eonraider/packet-sniffer/blob/master/ARCHITECTURE.md).

Tutto tranne il raw socket funziona su qualsiasi OS, quindi la suite di
test — che include un corpus di 65 frame di traffico reale catturato,
riprodotto attraverso l'intera pipeline — non richiede né root né Linux:

```
uv run pytest
```

## Contribuire

Segnalazioni di bug e pull request sono benvenute. [CONTRIBUTING.md](https://github.com/eonraider/packet-sniffer/blob/master/CONTRIBUTING.md)
copre la configurazione di sviluppo, i controlli eseguiti dalla CI, e come
appare una buona pull request qui.

## Disclaimer Legale

L'uso del codice contenuto in questo repository, in parte o nella sua
totalità, per attaccare target senza previo consenso reciproco è
illegale. **È responsabilità dell'utente finale rispettare tutte le leggi
locali, statali e federali applicabili.**

Gli sviluppatori non si assumono **alcuna responsabilità** e non sono
responsabili per usi impropri o danni causati da qualsiasi codice
contenuto in questo repository nel caso in cui, accidentalmente o
altrimenti, esso venga utilizzato da un agente di minaccia o entità non
autorizzata come mezzo per compromettere la sicurezza, la privacy, la
riservatezza, l'integrità e/o la disponibilità di sistemi e delle loro
risorse associate. In questo contesto il termine "compromettere" è da
intendersi come l'utilizzo dello sfruttamento di vulnerabilità note o
sconosciute presenti in detti sistemi, includendo, ma non limitandosi a,
l'implementazione di controlli di sicurezza, di natura umana o
elettronica.

L'uso di questo codice è **solo** approvato dagli sviluppatori in quelle
circostanze direttamente correlate a **ambienti educativi** o
**ingaggi di penetration testing autorizzati** il cui scopo dichiarato
è quello di trovare e mitigare vulnerabilità nei sistemi, limitando
la loro esposizione a compromissioni ed exploit impiegati da agenti
maligni come definito nei rispettivi modelli di minaccia.

## Licenza

[AGPL-3.0](https://github.com/eonraider/packet-sniffer/blob/master/LICENSE)
Scarica lo strumento