Laboratório: Comparativo TCP e UDP utilizando nc e tcpdump
De Wiki Cursos IFPR Foz
Laboratório: Comparativo TCP e UDP
- Para este laboratório será utilizado a ferramenta nc (netcat) e tcpdump.
O laboratório deve ser realizado em uma máquina virtual, em virtude da necessidade de conta de administrador para utilizar o tcpdump.
nc (NetCat)
Permite criar comunicações e soquetes de escuta TCP e UDP .
- Parâmetros comuns para uso com nc
- -l especifica porta para escuta TCP ou de recepção UDP;
- -n não converte endereços IP e porta, mantendo o formato numérico;
- -u usa comunicação UDP (por default usa TCP).
As páginas de manual do nc trazem informações detalhadas do uso deste comando:
man nc
Comparativo entre uma comunicação TCP e UDP
Para este exercício será utilizado um terminal no seu computador e outro em um computador de um colega ou na máquina virtual.
- Conexão TCP
- Verificar o endereço IP que está sendo utilizado pela máquina remota que será utilizada para comunicação com o comando ifconfig.
- A primeira transferência será feita usando o protocolo TCP da seguinte forma:
- No computador receptor execute o netcat que criará um soquete de escuta TCP em uma porta especificada, por exemplo, 5555:
nc -l 5555
- No computador transmissor execute o netcat para criar uma conexão TCP com o receptor especificado no endereço (X é o número do computador do colega de laboratório que vai aceitar a conexão) e porta especificada:
nc 192.168.2.X 5555
- Com estes comandos, abre-se uma conexão TCP, full-duplex, na qual tudo o que for teclado em um host será enviado ao outro host.
- No computador receptor execute o netcat que criará um soquete de escuta TCP em uma porta especificada, por exemplo, 5555:
- Depois de testada a conexão, encerrar a mesma com CTRL-C.
- Preparar, em outro terminal, um comando tcpdump para capturar pacotes na porta 5555.
- Relançar a conexão TCP com netcat e analisar os pacotes capturados pelo tcpdump.
- Comunicação UDP
- Verificar o endereço IP que está sendo utilizado pela máquina remota que será utilizada para comunicação com o comando ifconfig.
- Esta transferência será feita usando o protocolo UDP da seguinte forma:
- No computador receptor execute o netcat que criará um soquete de escuta UDP em uma porta especificada, por exemplo, 5555:
nc -u -l 5555
- No computador transmissor execute o netcat para enviar um datagrama UDP para o receptor especificado no endereço (X é o número do computador do colega de laboratório que vai aceitar a conexão) e porta especificada:
nc -u 192.168.2.X 5555
- Com estes comandos tudo o que for teclado em um host será enviado ao outro host pelo protocolo UDP.
- No computador receptor execute o netcat que criará um soquete de escuta UDP em uma porta especificada, por exemplo, 5555:
- Depois de testada a comunicação, encerrar a mesma com CTRL-C.
- Preparar, em outro terminal, um comando tcpdump para capturar pacotes na porta 5555.
- Relançar a comunicação UDP com netcat e analisar os pacotes capturados pelo tcpdump.
- Comparação entre TCP e UDP a partir dos pacotes capturados com o tcpdump
- Verifique a abertura de conexão no TCP;
- Verifique a ausência de conexão no UDP;
- Verifique os números de sequência e reconhecimento TCP nas trocas de pacotes realizadas;
- Verifique o encerramento de conexão TCP quando um dos host derruba a conexão com CTRL-C;
- Verifique o que acontece quando um dos lados da comunicação usando UDP encerra com CTRL-C.
--Evandro.cantu (discussão) 15h25min de 16 de abril de 2015 (BRT)