Scanner de Rede Local
Uma GUI Tkinter que escaneia uma rede IPv4 local (sondagem ARP + nmap), exibe dispositivos, permite executar varreduras de portas completas e exportar resultados.
Visão geral rápida
- Varredura ARP para descobrir dispositivos na LAN.
- Sondagens nmap melhoradas para hostname, fornecedor, portas abertas, suposição de SO e latência.
- Botão de portas completas executa uma varredura nmap intensiva para um dispositivo selecionado.
- Pontuação de risco inteligente (Baixo/Médio/Alto/Crítico) baseada nas portas abertas detectadas.
- Estatísticas do painel em tempo real (total de dispositivos, hosts com portas abertas, hosts de alto risco, latência média).
- Filtragem/pesquisa ao vivo e colunas de tabela classificáveis para triagem mais rápida.
- Re-escaneamento selecionado, copiar IP e insights de rede (IP local/público + detalhes da plataforma).
- Exportar resultados para CSV ou JSON.
Requisitos
- Windows 10/11 (testado)
- Python 3.9+ (3.10+ recomendado)
- Nmap instalado e no PATH (baixe de https://nmap.org/)
- Npcap instalado (necessário pelo scapy no Windows) — escolha "Modo compatível com WinPcap" se oferecido
- Execute o script com privilégios de Administrador para funcionalidade completa (ARP, sockets brutos, alguns recursos do nmap)
Pacotes Python (instale via requirements.txt):
- scapy
- python-nmap
- tqdm
- requests
Instalação
- Abra o PowerShell (recomendado: execute como Administrador por conveniência)
- Crie e ative um ambiente virtual (opcional mas recomendado)
- python -m venv .venv
- ..venv\Scripts\Activate.ps1
- Instale os pacotes
- pip install -r requirements.txt
Certifique-se de que o nmap.exe está instalado e disponível no PATH (execute nmap --version para verificar).
Execute a GUI
Recomendado (Windows):
- Clique com o botão direito no Visual Studio Code e escolha "Executar como administrador", abra o projeto, pressione F5 para depurar ou Executar.
- Ou abra um PowerShell como Administrador e execute:
Notas:
- O programa solicitará elevação na inicialização (ShellExecute). Se você executar do VS Code, inicie o VS Code como administrador para permitir que o depurador integrado seja iniciado corretamente com privilégios.
- Se a GUI não aparecer após aceitar o prompt UAC, execute o script diretamente de um PowerShell elevado para verificar.
Configuração do VS Code
Se você quiser uma configuração de depuração, adicione .vscode/launch.json (exemplo):
{
"version": "0.2.0",
"configurations": [
{
"name": "Network Scanner (Admin)",
"type": "debugpy",
"request": "launch",
"program": "${workspaceFolder}/app.py",
"console": "integratedTerminal",
"args": []
}
]
}
Importante: No Windows é mais simples executar o próprio VS Code como Administrador (clique direito → Executar como administrador) antes de iniciar a configuração de depuração.
Usando a GUI
- A entrada de intervalo de IP aceita:
- CIDR:
192.168.1.0/24
- IP único:
192.168.1.10
- Intervalos com hífen:
192.168.1.1-254 ou 192.168.1.10-192.168.1.20
- Caractere curinga:
192.168.1.*
- Lista separada por vírgula:
192.168.1.1,192.168.1.5,192.168.1.100
- Botões:
- Iniciar Varredura — descoberta ARP + sondagens leves
- Varredura Completa de Portas — selecione uma linha, clique para executar uma varredura nmap intensiva nesse IP
- Re-escaneamento Selecionado — atualiza detalhes apenas para o host atualmente selecionado
- Copiar IP — copia o IP do host selecionado para a área de transferência
- Insights de Rede — imprime metadados de rede local/pública no painel de log
- Parar — solicita parar a varredura
- Exportar CSV / Salvar JSON — salva as informações do dispositivo coletadas
- Sair — fecha o aplicativo
- Filtre dispositivos em tempo real (pesquise por IP, hostname, fornecedor, SO ou risco) e opcionalmente mostre apenas hosts com portas abertas.
- Clique nos cabeçalhos das colunas para classificar linhas.
- Clique em uma linha de dispositivo para mostrar um resumo amigável mais dados estruturados brutos no painel inferior. Você pode clicar em linhas no log para auto-selecionar dispositivos se um IP estiver presente.
Comportamento e limites
- A varredura ARP funciona apenas no segmento Ethernet/LAN local.
- Varreduras completas de portas e detecção de SO podem exigir privilégios de administrador e podem levar vários minutos por host.
- A expansão de hífen/curinga inclui limites para evitar varreduras acidentalmente enormes (defensivo).
- O Nmap deve ser instalado separadamente — python-nmap é apenas um wrapper.
Solução de problemas
- Se a caixa de diálogo UAC "aceitar admin" aparecer mas a GUI não abrir:
- Certifique-se de que o VS Code foi iniciado como admin (preferencial) ou execute o script em um PowerShell Administrador.
- Verifique se
nmap --version funciona no mesmo ambiente.
- Se estiver usando o depurador, execute a sessão de depuração de uma instância elevada do VS Code.
- Se o scapy falhar no Windows: verifique se o Npcap está instalado e se o seu ambiente virtual usa o mesmo interpretador Python.
Segurança e legal
Escaneie apenas redes e dispositivos que você possui ou tem permissão explícita para testar. A varredura não autorizada pode ser ilegal e perturbadora.
Roteiro
Melhorias no Scanner
Interface
Recursos de Segurança