Um sistema completo em Python para cΓ‘lculos e anΓ‘lises de redes IP, desenvolvido para facilitar o trabalho de administradores de rede, estudantes e profissionais de TI.
- CΓ‘lculo de InformaΓ§Γ΅es de Rede: AnΓ‘lise completa de redes IP
- ConversΓ΅es: CIDR β MΓ‘scara Decimal
- DivisΓ£o de Sub-redes (FLSM): Fixed Length Subnet Masking
- VLSM: Variable Length Subnet Masking
- ValidaΓ§Γ£o: IPs e redes
- VerificaΓ§Γ£o de Pertencimento: Se um IP pertence a uma rede
- CΓ‘lculo de Super-rede: AgregaΓ§Γ£o de redes
- ClassificaΓ§Γ£o de IPs: Classe e tipo (pΓΊblico/privado)
- NetworkCalculator: Classe principal com todas as funcionalidades
- Interface CLI: Interface de linha de comando interativa
- Suite de Testes: Testes automatizados para validaΓ§Γ£o
- Clone ou baixe os arquivos do projeto
- Certifique-se de ter Python 3.6+ instalado
- Execute o programa:
python cli_interface.pyA interface oferece um menu interativo com as seguintes opΓ§Γ΅es:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β MENU PRINCIPAL β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β 1. Calcular informaΓ§Γ΅es de rede β
β 2. Converter CIDR para mΓ‘scara decimal β
β 3. Converter mΓ‘scara decimal para CIDR β
β 4. Dividir rede em sub-redes (FLSM) β
β 5. Calcular VLSM (Variable Length Subnet Masking) β
β 6. Verificar se IP pertence a uma rede β
β 7. Calcular super-rede β
β 8. Validar endereΓ§o IP β
β 9. Validar rede β
β 0. Sair β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Entrada: 192.168.1.0/24
SaΓda:
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β INFORMAΓΓES DA REDE β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ£
β Rede: 192.168.1.0 β
β CIDR: /24 β
β MΓ‘scara: 255.255.255.0 β
β Broadcast: 192.168.1.255 β
β Primeiro Host: 192.168.1.1 β
β Γltimo Host: 192.168.1.254 β
β Total de Hosts: 254 β
β Total EndereΓ§os: 256 β
β Classe: C β
β Tipo: Privada β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Entrada: Rede 192.168.1.0/24, 4 sub-redes
SaΓda:
ID Rede CIDR MΓ‘scara Broadcast Hosts
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
1 192.168.1.0 /26 255.255.255.192 192.168.1.63 62
2 192.168.1.64 /26 255.255.255.192 192.168.1.127 62
3 192.168.1.128 /26 255.255.255.192 192.168.1.191 62
4 192.168.1.192 /26 255.255.255.192 192.168.1.255 62
Entrada: Rede 192.168.1.0/24, hosts necessΓ‘rios: [50, 25, 10, 5]
SaΓda:
Ordem Solicitado Rede CIDR DisponΓvel Range de Hosts
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
1 50 192.168.1.0 /26 62 192.168.1.1 - 192.168.1.62
2 25 192.168.1.64 /27 30 192.168.1.65 - 192.168.1.94
3 10 192.168.1.96 /28 14 192.168.1.97 - 192.168.1.110
4 5 192.168.1.112 /29 6 192.168.1.113 - 192.168.1.118
Para executar os testes automatizados:
python test_calculator.pyOs testes cobrem:
- ValidaΓ§Γ£o de IPs e redes
- ConversΓ΅es entre CIDR e mΓ‘scara
- CΓ‘lculos de sub-redes
- VLSM
- VerificaΓ§Γ£o de pertencimento
- ClassificaΓ§Γ£o de IPs
- Testes de integraΓ§Γ£o
tools/
βββ network_calculator.py # Classe principal com todas as funcionalidades
βββ cli_interface.py # Interface de linha de comando
βββ test_calculator.py # Suite de testes
βββ requirements.txt # DependΓͺncias do projeto
βββ README.md # DocumentaΓ§Γ£o (este arquivo)
O projeto utiliza apenas bibliotecas padrΓ£o do Python:
ipaddress: Para manipulaΓ§Γ£o de endereΓ§os IPsocket: Para conversΓ΅es de redestruct: Para manipulaΓ§Γ£o de dados binΓ‘riosunittest: Para testes automatizados
- Planejamento de sub-redes
- AnΓ‘lise de espaΓ§o de endereΓ§amento
- ValidaΓ§Γ£o de configuraΓ§Γ΅es
- DocumentaΓ§Γ£o de redes
- Aprendizado de conceitos de rede
- VerificaΓ§Γ£o de cΓ‘lculos manuais
- CompreensΓ£o de VLSM e FLSM
- PrΓ‘tica com diferentes cenΓ‘rios
- IntegraΓ§Γ£o em sistemas maiores
- AutomaΓ§Γ£o de tarefas de rede
- ValidaΓ§Γ£o de configuraΓ§Γ΅es
- Base para ferramentas mais complexas
- Suporte para IPv6
- Interface grΓ‘fica (GUI)
- ExportaΓ§Γ£o de resultados (CSV, JSON)
- Calculadora de bandwidth
- AnΓ‘lise de performance de rede
- IntegraΓ§Γ£o com APIs de rede
- Suporte para VLANs
- Calculadora de delay e latΓͺncia
- Scanner de Portas TCP (similar ao Nmap bΓ‘sico)
- Fingerprinting de ServiΓ§os (captura de banners)
- Ping Sweep (descoberta de hosts ativos na rede)
- VerificaΓ§Γ£o de vulnerabilidades comuns (FTP anΓ΄nimo, Telnet, etc.)
- Consulta de IPs em APIs externas (Shodan, VirusTotal)
- ForΓ§a bruta em serviΓ§os (SSH/FTP) para fins educativos
- ExportaΓ§Γ£o de relatΓ³rios de seguranΓ§a em JSON/CSV
ContribuiΓ§Γ΅es sΓ£o bem-vindas! Para contribuir:
- FaΓ§a um fork do projeto
- Crie uma branch para sua feature
- Implemente suas mudanΓ§as
- Execute os testes
- Envie um pull request
Este projeto Γ© de cΓ³digo aberto e estΓ‘ disponΓvel sob a licenΓ§a MIT.
Para dΓΊvidas, sugestΓ΅es ou problemas:
- Abra uma issue no repositΓ³rio
- Consulte a documentaΓ§Γ£o
- Execute os testes para verificar o funcionamento
- π§ Email: rodrigo@rodrigoviana.dev.br
- π Site: https://rodrigoviana.dev.br
- πΌ LinkedIn: https://linkedin.com/in/rodrigo-viana