Cyber Scanner é uma aplicação que escaneia redes públicas e privadas, exibindo informações detalhadas dos dispositivos conectados, como IP, MAC address, nome do dispositivo e distância aproximada. A aplicação conta com uma interface web amigável e um back-end robusto.
- Escaneamento de redes locais e públicas no formato CIDR.
- Exibição dos dispositivos conectados com informações:
- Endereço IP
- Endereço MAC
- Nome do dispositivo
- Distância aproximada baseada no RSSI.
- Interface web interativa.
- Python 3.10+
- Flask – Framework web.
- Scapy – Biblioteca de manipulação de pacotes de rede.
- SQLAlchemy – ORM para banco de dados.
- React 18.2.0
- Bootstrap 5 – Framework de CSS.
- Python 3.10+
- Node.js 16+
- Npcap (para Windows)
- Git
git clone https://github.com/seu-usuario/cyber-scanner.git
cd cyber-scanner
cd backend
python -m venv venv
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows
pip install -r requirements.txt
python app.py
Abra outro terminal e execute:
cd frontend
npm install
npm start
-
Acesse a interface web pelo navegador:
http://localhost:3000
-
A API pode ser acessada diretamente em:
http://localhost:5000/scan
-
O front-end exibirá os dispositivos conectados à rede local.
cyber-scanner/
│
├── backend/ # Código do servidor Flask
│ ├── app.py # Arquivo principal da API Flask
│ ├── scanner.py # Lógica de escaneamento de rede
│ ├── distance.py # Função para cálculo de distância
│ ├── models.py # Modelos de banco de dados
│ └── requirements.txt # Dependências do Python
│
├── frontend/ # Código da interface React
│ ├── public/ # Arquivos estáticos (HTML, favicon)
│ ├── src/ # Código-fonte React
│ │ ├── components/ # Componentes da interface
│ │ ├── pages/ # Páginas principais
│ │ └── App.js # Componente principal React
│ └── package.json # Configuração do projeto React
│
└── README.md # Documentação do projeto
Contribuições são bem-vindas! Siga os passos abaixo para contribuir:
- Fork este repositório.
- Crie uma branch com sua feature:
git checkout -b minha-feature
- Commit suas alterações:
git commit -m 'Adiciona minha nova feature'
- Envie para a branch principal:
git push origin minha-feature
- Abra um Pull Request.
Este projeto está licenciado sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.