Skip to main content

🔍 ZNetScan - Scanner de Rede Inteligente com detecção de MAC randomizado e fingerprint

Project description

🌐 ZNetScan - Scanner de Rede Inteligente

PyPI version Python Version License Platform Downloads

ZNetScan é uma ferramenta que descobre todos os dispositivos na sua rede e identifica quais MAC addresses são reais (de fábrica) e quais são falsos (randomizados por privacidade). Além disso, usa fingerprint para reconhecer o mesmo dispositivo mesmo quando ele muda de MAC!

🔥 Diferencial: Enquanto outros scanners só mostram o MAC, o ZNetScan te diz se você pode confiar nele e identifica dispositivos que se escondem atrás de MACs falsos!

📦 Instalação Rápida

# Via pip (recomendado)
pip install znetscan

# Agora use em qualquer lugar!
znet --method arp

📸 Demonstração

$ znet --method arp

================================================================================================================
IP               MAC                  Dispositivo Identificado            Confiança    Visto
----------------------------------------------------------------------------------------------------------------
192.168.0.1      3C:58:5D:78:AD:DE    Roteador Sagemcom                    ALTA      45
192.168.0.6      EC:6C:9A:9E:9A:62    Computador João                      ALTA      23
192.168.0.37     02:F6:E8:0E:1C:3D    iPhone Maria                         ALTA      12
192.168.0.38     9A:B2:C5:2C:39:7F    📱 Smartphone (desconhecido)        ⚠️ MÉDIA     3
192.168.0.42     96:2F:8A:09:02:6A    🆕 📱 Smartphone (desconhecido)       BAIXA     1
================================================================================================================

📊 Total de dispositivos: 5
    Dispositivos conhecidos: 4
   🆕 Novos dispositivos: 1
   🔄 MACs randomizados: 3

🎯 O que este scanner faz?

Recurso O que significa Para que serve
Scan ARP Descobre dispositivos em segundos Mapear sua rede rapidamente
Scan Ping Alternativa sem sudo Quando não tem permissão de root
Detecta MAC falso Identifica iPhones/Androids Saber se o MAC é confiável
Fingerprint Reconhece dispositivos mesmo com MAC diferente Identificar o mesmo celular em redes diferentes
Gerencia dispositivos Nomeia, lista e vê histórico Organizar e identificar dispositivos
Scan de portas Verifica portas abertas Auditoria de segurança
Exporta resultados JSON, CSV, HTML, TXT Relatórios e integrações

🚀 Instalação detalhada

Via pip (recomendado para usuários)

# Instalar
pip install znetscan

# Usar
znet --method arp
znet help

Via git (para desenvolvedores)

# Clonar e entrar no projeto
git clone https://github.com/Zer0G0ld/ZNetScan.git
cd ZNetScan

# Setup automático
python3 setup_venv.py
source venv/bin/activate

# Instalar dependência do sistema (para scan ARP)
sudo apt install arp-scan  # Linux
brew install arp-scan      # macOS

📖 Comandos principais

🔍 Scan de Rede

# Scan rápido (recomendado) - mostra confiabilidade dos MACs
sudo znet --method arp

# Scan alternativo (sem sudo)
znet --method ping

# Escanear rede específica
znet --network 192.168.0.0/24 --method arp

📊 Gerenciamento de Dispositivos (Fingerprint)

# Listar todos os dispositivos conhecidos
znet --list-devices

# Nomear um dispositivo (aprender quem é)
znet --learn-device dev_20260425_123456 "Celular da Maria"

# Ver histórico completo de um dispositivo
znet --device-history dev_20260425_123456

# Remover um dispositivo do banco
znet --forget-device dev_20260425_123456

🔌 Scan de Portas

# Escanear portas de um IP
znet --port-scan 192.168.1.1

# Portas específicas
znet --port-scan 192.168.1.1 --ports 22,80,443,3306

# Intervalo de portas
znet --port-scan 192.168.1.1 --ports range:1-1000

ℹ️ Informações e Ajuda

# Sistema de ajuda interativo
znet help
znet help scan
znet help devices
znet help ports

# Analisar um MAC específico
znet --mac-info AA:BB:CC:DD:EE:FF

# Mostrar interfaces de rede
znet --interfaces

📤 Exportação

# Salvar resultado em JSON
znet --method arp --output json -f minha_rede.json

# Salvar em CSV (planilha)
znet --method arp --output csv -f minha_rede.csv

# Gerar relatório HTML
znet --method arp --output html -f relatorio.html

🔍 Entendendo o Fingerprint

O problema: dispositivos que escondem o MAC

Smartphones modernos (iPhone, Android) randomizam o MAC a cada rede que se conectam para proteger sua privacidade.

A solução: identificação por múltiplas características

O ZNetScan identifica o mesmo dispositivo por:

  • Padrão do chip Wi-Fi (mesmo com MAC falso)
  • Comportamento de horários (quando costuma aparecer)
  • Histórico de IPs (que rede usa)

Níveis de confiança do fingerprint

Nível Significado O que fazer
✅ ALTA Mesmo dispositivo com certeza Pode confiar, nomeie o dispositivo
⚠️ MÉDIA Provavelmente o mesmo Observe mais alguns dias
❌ BAIXA Dispositivo novo ou inconclusivo Ainda aprendendo

Exemplo prático

# Primeiro scan: iPhone aparece com MAC aleatório
znet --method arp
# Mostra: "📱 Smartphone (desconhecido)"

# Nomeie o dispositivo
znet --learn-device dev_xxx "iPhone da Ana"

# Segundo scan (dias depois): iPhone com MAC diferente
znet --method arp
# Agora mostra: "iPhone da Ana" ✅ reconhecido!

🔍 Entendendo a detecção de MAC falso

✅ Confiança ALTA (MAC verdadeiro)

MAC: 3C:58:5D:78:AD:DE
Segundo caractere: 'C' (0,4,8,C)
→ Este MAC é GRAVADO no hardware. Não muda. Confiável!

⚠️ Confiança BAIXA (MAC falso/randomizado)

MAC: 26:BC:9C:38:81:57
Segundo caractere: '6' (2,6,A,E)
→ Este MAC é CRIADO POR SOFTWARE. Muda a cada rede. Não confie como ID único!

Por que isso acontece?

  • iPhone/Android: Criaram MACs falsos em 2017 para proteger sua privacidade
  • Resultado: Uma pessoa com o mesmo celular aparece como dispositivos diferentes
  • Solução: Use o sistema de fingerprint do ZNetScan para identificar!

📁 Estrutura do projeto

ZNetScan/
├── main.py                    # 👉 Ponto de entrada principal
├── network/
│   ├── mac_utils.py          # 🔥 Detecta MAC falso (bit U/L)
│   └── device_fingerprint.py # 🆔 Identifica dispositivos que mudam de MAC
├── scanners/                  # Métodos de descoberta (ARP, Ping, Portas)
├── output/                    # Formatadores e exportadores
├── utils/
│   ├── logger.py             # Sistema de logs com cores
│   └── help.py               # 📚 Sistema de ajuda interativo
├── docs/                      # Documentação técnica completa
└── config/                    # Configurações

🎓 Aprenda mais

🛠️ Para desenvolvedores

# Instalar ferramentas extras
pip install black flake8 pytest

# Formatar código
black .

# Verificar estilo
flake8 .

# Executar testes
pytest tests/

🐛 Problemas comuns

Problema Solução
arp-scan: command not found sudo apt install arp-scan
Permission denied no scan ARP Use sudo ou método ping
Scan muito lento Use --method arp (mais rápido)
Dispositivo desconhecido aparece sempre Nomeie com --learn-device
MACs randomizados não identificados Já são identificados automaticamente!

📊 Comparação com outras ferramentas

Ferramenta Velocidade Detecta MAC falso Fingerprint Exporta JSON Ajuda interativa
ZNetScan ⚡ Rápido ✅ SIM ✅ SIM ✅ Sim ✅ Sim
nmap 🐌 Lento ❌ Não ❌ Não ✅ Sim ❌ Não
arp-scan ⚡ Rápido ❌ Não ❌ Não ❌ Não ❌ Não
netdiscover ⚡ Rápido ❌ Não ❌ Não ❌ Não ❌ Não

🤝 Contribuir

  1. Fork o projeto
  2. Crie sua branch: git checkout -b minha-feature
  3. Commit: git commit -m 'Adiciona feature'
  4. Push: git push origin minha-feature
  5. Abra um Pull Request

📄 Licença

GNU General Public License v3.0 - Use, modifique e distribua livremente.

👤 Autor

Zer0G0ld - GitHub


Gostou? Dê uma estrela no GitHub!
🐛 Encontrou um bug? Abra uma issue


Desenvolvido com 🐍 por Zer0G0ld

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

znetscan-1.1.1.tar.gz (61.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

znetscan-1.1.1-py3-none-any.whl (58.2 kB view details)

Uploaded Python 3

File details

Details for the file znetscan-1.1.1.tar.gz.

File metadata

  • Download URL: znetscan-1.1.1.tar.gz
  • Upload date:
  • Size: 61.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for znetscan-1.1.1.tar.gz
Algorithm Hash digest
SHA256 3e9e0bdf81738b9ffc58e48bca631ef1a30b091662cfb5a666a3461d7f6444e3
MD5 7ad4918b253f390be01dac57dc492e99
BLAKE2b-256 90322f741a7354ffd2f321b0b89561944f58a59966f4f7ee53034099c5d7b27a

See more details on using hashes here.

File details

Details for the file znetscan-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: znetscan-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 58.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for znetscan-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ac08f716801041ad1b5a07ca59c98eac42380e2632c2c7c4f88b0b7b2d01ff38
MD5 2bb48e3bb84cd395d65abefad16d0e1f
BLAKE2b-256 5af26d551638f5675d538c4221cd874a4ad66ca44a41692c8689872095f8ff60

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page