Este repositório contém a implementação do projeto FTCP (File Transfer Custom Protocol), um sistema cliente-servidor para transferência de arquivos utilizando os protocolos TCP e UDP de forma customizada, conforme especificado nas instruções.
- Integrante 1: [Nome Completo do Aluno 1]
- Integrante 2: [Nome Completo do Aluno 2]
- Integrante 3: [Nome Completo do Aluno 3]
- (Adicione mais linhas conforme necessário)
O objetivo principal é desenvolver um cliente e um servidor que se comunicam através de um protocolo próprio (FTCP). A negociação inicial ocorre via UDP, onde o cliente requisita um arquivo (a.txt ou b.txt) e especifica o protocolo de transferência (obrigatoriamente TCP nesta versão). O servidor responde com a porta TCP designada para a transferência. Em seguida, o cliente estabelece uma conexão TCP nessa porta, solicita o arquivo, o recebe e confirma o recebimento antes de encerrar a conexão.
A entrega final do projeto consiste nos itens detalhados na tabela abaixo. Certifique-se de que todos os itens listados para o repositório Git estejam presentes e atualizados na branch principal (main ou master) antes da data final.
| Item # | Descrição | Forma de Entrega |
|---|---|---|
| 1 | Código Fonte (Cliente e Servidor) | Repositório Git (este) |
| 2 | Arquivos de Teste (a.txt e b.txt) |
Repositório Git (este) |
| 3 | Arquivo de Configuração (config.ini) |
Repositório Git (este) |
| 4 | Arquivo de Captura de Tráfego (.pcapng) |
Repositório Git (este) |
| 5 | Relatório de Análise (PDF ou Markdown) | Google Classroom (1 por equipe) |
Consulte os seguintes arquivos neste repositório para obter detalhes completos sobre cada parte do projeto:
- 📄 Especificação do Protocolo FTCP: Descreve em detalhes as etapas de negociação (UDP) e transferência (TCP), os formatos das mensagens e o fluxo de comunicação esperado entre cliente e servidor.
- 🦈 Tutorial de Análise com Wireshark: Contém um guia passo a passo sobre como usar o Wireshark para analisar o arquivo de captura (
.pcap), incluindo exemplos com DHCP/DNS e instruções específicas para analisar o tráfego do seu protocolo FTCP. - 📝 Instruções para o Relatório: Apresenta a estrutura e o conteúdo esperado para o relatório final, focando na análise do protocolo e do tráfego de rede capturado.
- 🐍 Exemplo de servidor/cliente (Python): Um código de exemplo em Python demonstrando um servidor e cliente "echo" que opera simultaneamente em TCP e UDP.
-
Configuração: Certifique-se de que o arquivo
config.iniestá presente na mesma pasta dos scripts e configurado corretamente com as portas desejadas e os caminhos para os arquivosa.txteb.txt. -
Iniciar o Servidor:
python servidor_ftcp.py
-
Executar o Cliente (em outro terminal):
python cliente_ftcp.py a.txt