- Usar Docker SDK
- Dockerfile e Dockercompos
- Arrumar o publish de porta
- Exibição da porta
Este projeto foi desenvolvido para explorar e testar o SDK do Docker usando Python, com o objetivo de facilitar a criação e gerenciamento de containers para testes de ferramentas de redes. A ideia surgiu a partir de uma necessidade nas aulas de redes da faculdade, onde frequentemente é necessário criar diversos containers e realizar testes de conectividade, tráfego e outros aspectos de redes.
A ferramenta possui uma interface gráfica simples e intuitiva, permitindo aos usuários:
- Criar containers
- Apagar containers
- Visualizar containers em execução
- Visualizar containers parados
- Acessar o terminal dos containers ao cria-los
Tudo isso sem a necessidade de inserir comandos no terminal. O projeto utiliza duas imagens Docker personalizadas, que incluem as principais ferramentas de rede utilizadas em sala de aula, otimizando a experiência de aprendizado e prática.
- Docker: Instalação do Docker
- Python 3.6 ou superior: Instalação do Python
- Poetry(Recomendado): Instalação do Poetry
Para executar o projeto, siga os passos abaixo:
poetry install # Instala as dependências do projeto com poetry
streamlit run __main__.py # Executa a aplicação
Abra o navegador e acesse o endereço http://localhost:8501
para visualizar a aplicação. Ou siga as instruções exibidas no terminal.
As imagens Docker utilizadas no projeto estão disponíveis no Docker Hub: joaoprdo/redes-tools
A imagem redes-tools
contém as seguintes ferramentas:
iproute2 # Ferramentas para visualização e manipulação de rotas e interfaces
net-tools # Ferramentas como ifconfig, netstat, route, etc.
tcpdump # Ferramenta para captura e análise de pacotes
traceroute # Para traçar rotas até um host
iputils-ping # Ferramenta de ping
dnsutils # Ferramentas como nslookup, dig, etc.
curl # Para testar conexões HTTP/HTTPS
wget # Para download de arquivos via HTTP/HTTPS/FTP
nmap # Ferramenta para escanear redes
telnet # Para conexões remotas
iptables
E esta disponvivel em duas versões:
latest
eubuntu
= Imagem base ubuntualpine
= Imagem base alpine
os arquivos dockerfile estão disponíveis nesse repositorio.