https://github.com/joao-pedro-rdo/container-net-lab
Ferramenta para criar containers com pacotes de redes de maneira gráfica. feito com objetivo de explorar e testar o SDK do docker
https://github.com/joao-pedro-rdo/container-net-lab
docker docker-sdk python streamlit
Last synced: about 1 month ago
JSON representation
Ferramenta para criar containers com pacotes de redes de maneira gráfica. feito com objetivo de explorar e testar o SDK do docker
- Host: GitHub
- URL: https://github.com/joao-pedro-rdo/container-net-lab
- Owner: joao-pedro-rdo
- Created: 2024-09-07T13:26:37.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-14T03:23:39.000Z (over 1 year ago)
- Last Synced: 2025-03-24T03:47:28.392Z (about 1 year ago)
- Topics: docker, docker-sdk, python, streamlit
- Language: Python
- Homepage:
- Size: 144 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Container Net Lab
## TODO
- [ ] Usar Docker SDK
- [ ] Dockerfile e Dockercompos
- [ ] Arrumar o publish de porta
- [ ] Exibição da porta
## Descrição:
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.
## Pré-requisitos
- Docker: [Instalação do Docker](https://docs.docker.com/get-docker/)
- Python 3.6 ou superior: [Instalação do Python](https://www.python.org/downloads/)
- Poetry(Recomendado): [Instalação do Poetry](https://python-poetry.org/docs/)
## Execução
Para executar o projeto, siga os passos abaixo:
```bash
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.
## Docker Images
As imagens Docker utilizadas no projeto estão disponíveis no Docker Hub:
[joaoprdo/redes-tools](https://hub.docker.com/repository/docker/joaoprdo/redes-tools/general)
A imagem `redes-tools` contém as seguintes ferramentas:
```bash
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` e `ubuntu` = Imagem base ubuntu
- `alpine` = Imagem base alpine
os arquivos dockerfile estão disponíveis nesse repositorio.
## Imagem da aplicação