
Uma ferramenta de Sniffing de Pacotes de Rede desenvolvida em Python 3.
Um Sniffer de Pacotes de Rede desenvolvido em Python 3. Os pacotes são desmontados à medida que chegam a um determinado controlador de interface de rede e suas informações são exibidas na tela.
Esta aplicação depende exclusivamente da biblioteca NETProtocols (também desenvolvida e mantida por EONRaider) a partir da versão 2.0.0 e pode ser executada por qualquer interpretador Python 3.8+.

Simplesmente clone este repositório com git clone, instale as dependências e execute o arquivo 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
O comando sudo é necessário devido ao uso de socket.SOCK_RAW, que requer privilégios administrativos para ser executado no GNU/Linux. Observe que a existência de dependências pode exigir a execução do interpretador contido no ambiente virtual no qual as dependências foram instaladas (se você usar um), em vez de apenas usar o interpretador do sistema.
Use o arquivo build.py para compilar seu próprio binário com o pacote PyInstaller. Você só precisa instalar todas as dependências e compilar. O gerenciamento de dependências funciona tanto com Poetry (recomendado) quanto com Virtualenv.
<-- Instale as dependências como mostrado na Etapa I acima -->
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.
O uso do código contido neste repositório, seja parcial ou total, para atingir alvos sem consentimento mútuo prévio é ilegal. É de 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 acidental ou não, no qual 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 "comprometimento" é doravante entendido como o aproveitamento da exploração de vulnerabilidades conhecidas ou desconhecidas presentes nos referidos sistemas, incluindo, mas não se limitando à implementação de controles de segurança, habilitados por humanos ou eletronicamente.
O uso deste código é apenas endossado pelos desenvolvedores nas circunstâncias diretamente relacionadas a ambientes educacionais ou compromissos autorizados de teste de penetração cujo propósito declarado é encontrar e mitigar vulnerabilidades em sistemas, limitando sua exposição a comprometimentos e explorações empregadas por agentes maliciosos, conforme definido em seus respectivos modelos de ameaça.