
Uno strumento per lo sniffing di pacchetti di rete sviluppato in Python 3.
Un Sniffer di Pacchetti di Rete sviluppato in Python 3. I pacchetti vengono disassemblati mentre arrivano a un determinato controller di interfaccia di rete e le loro informazioni vengono visualizzate sullo schermo.
Questa applicazione dipende esclusivamente dalla libreria NETProtocols (anch'essa sviluppata e mantenuta da EONRaider) dalla versione 2.0.0 in poi e può essere eseguita da qualsiasi interprete Python 3.8+.

Basta clonare questo repository con git clone, installare le dipendenze ed eseguire il file sniffer.py.
user@host:~$ git clone https://github.com/EONRaider/Packet-Sniffer.git
user@host:~$ cd Packet-Sniffer
user@host:~/packet-sniffer$ pip install -r requirements.txt <--or--> poetry install
user@host:~/packet-sniffer$ sudo python3 packet_sniffer/sniffer.py
Il comando sudo è richiesto a causa dell'uso di socket.SOCK_RAW, che necessita di privilegi amministrativi per funzionare su GNU/Linux. Si noti che l'esistenza delle dipendenze potrebbe richiedere l'esecuzione dell'interprete contenuto nell'ambiente virtuale in cui le dipendenze sono state installate (se ne viene utilizzato uno), invece di usare semplicemente l'interprete di sistema.
Usa il file build.py per compilare il tuo binario con il pacchetto PyInstaller. Devi solo installare tutte le dipendenze e compilare. La gestione delle dipendenze funziona sia con Poetry (consigliato) che con Virtualenv.
<-- Install dependencies as shown above in Step I -->
user@host:~/packet-sniffer$ python3 build.py
sniffer.py [-h] [-i INTERFACE] [-d]
Network Packet Sniffer
optional arguments:
-h, --help show this help message and exit
-i INTERFACE, --interface INTERFACE
Interface from which packets will be captured (monitors
all available interfaces by default).
-d, --data Output packet data during capture.
L'utilizzo del codice contenuto in questo repository, in parte o nella sua totalità, per colpire obiettivi 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 in qualsiasi evento che, accidentalmente o meno, venga utilizzato da un agente minaccioso o da un'entità non autorizzata come mezzo per compromettere la sicurezza, la privacy, la riservatezza, l'integrità e/o la disponibilità dei sistemi e delle loro risorse associate. In questo contesto il termine "compromissione" è d'ora in poi inteso come lo sfruttamento di vulnerabilità note o sconosciute presenti in detti sistemi, inclusi, ma non limitati a, l'implementazione di controlli di sicurezza, abilitati umanamente o elettronicamente.
L'uso di questo codice è solo approvato dagli sviluppatori in quelle circostanze direttamente correlate ad ambienti educativi o impegni 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 malevoli come definito nei rispettivi modelli di minaccia.