Laboratório: Captura de pacotes TCP: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
Sem resumo de edição
 
(8 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
=Laboratório: Captura de pacotes TCP=
=Laboratório: Captura de pacotes TCP=


;Para este laboratório será utilizado a ferramenta de captura de pacotes [[tcpdump]]: Veja no link as instruções para download e instalação do tcpdump, bem como as instruções para uso do ferramenta.
;Requisitos de software: Este laboratório utiliza a ferramenta de captura de pacotes '''Wireshark'''.
:*Para utilizar o '''Wireshark''' é necessário que o administrador atribua permissão para os usuários normais poderem executá-lo.
:*Outra opção é utilizar uma '''máquina virtual''' com a placa de rede configurada em modo '''''bridge''''' e com permissão de administrador e instalar os aplicativos e utilizar o '''Wireshark'''.
:Veja no link '''[[wireshark]]''' as instruções para download e instalação do '''Wireshark''', bem como as instruções para uso do ferramenta.


O '''laboratório''' deve ser realizado em uma '''máquina virtual''', em virtude da necessidade de conta de '''administrador''' para instalar os aplicativos e utilizar o '''tcpdump'''.
==Objetivos==
O objetivo deste laboratório é estudar o funcionamento da '''Aplicação Web''' e explorar o funcionamento do '''protocolo TCP''', incluindo as a análise das portas TCP utilizadas pelo cliente e pelo servidor e dos pacotes de abertura e encerramento da conexão TCP.


==Captura de pacotes de abertura e encerramento de conexão==
==Captura de pacotes de abertura e encerramento de conexão==


;Exercícios:
;Exercícios:
#Verificar o '''endereço IP''' e a '''interface de rede''' que está sendo utilizada pela máquina virtual com o comando '''ifconfig'''. Certifique-se se o sistema operacional da máquina virtual está localizado na mesma rede das demais máquinas do laboratório. Se não estiver, modificar a configuração da máquina virtual para trabalhar em modo '''''bridge'''''.
#Verificar o '''endereço IP''' e a '''interface de rede''' que está sendo utilizada pela máquina onde o '''wireshark''' será executado, com o comando '''ifconfig'''.
#Realizar um '''ping''' em um servidor Web para descobrir seu endereço IP. Pode utilizar comor exemplo o servidor da Wiki
#Escolher um '''servidor Web''' para acessar a partir do navegador.
#Testar o comando '''telnet''' na '''porta 80''' do servidor Web escolhido. Note que este comando permite abrir uma conexão TCP na porta 80 do servidor Web.
#Faça um '''ping''' no servidor Web para descobrir seu endereço IP.
#Preparar, em '''outro terminal''', um comando '''tcpdump''' para capturar pacotes TCP na interface de rede com origem ou destino do servidor Web testado no exercício anterior (ver quais filtros utilizar).
#Preparar o '''wireshark''' para capturar pacotes TCP.
#Executar o comando '''telnet''' na '''porta 80''' do servidor e, simultaneamente, capturar com o '''tcpdump''' os pacotes de abertura de conexão TCP. Interpretar os '''pacotes capturados''' pelo tcpdump, incluindo:
#Acessar o servidor Web e analisar a '''captura de pacotes''' realizadas, procurando identificar as seguintes informações:
#*'''Porta origem e destino''' escolhidas pelo cliente;
#*No pacote IP, identifique o '''endereço IP''' do cliente e do servidor;
#*'''Números de sequência''' escolhidos pelo cliente e servidor;
#*No pacote TCP identifique a '''porta origem e destino''' escolhidas pelo cliente e pelo servidor;
#*Analise a sequência de abertura de conexão TCP, verificando os '''''flags''''' setados em cada pacote e a evolução dos números de sequência a reconhecimento;
#:[[Arquivo:PortasTCP.png]]
#*Analise a sequência de '''abertura de conexão TCP''', verificando os '''''flags''''' setados em cada pacote;
#:[[Arquivo:AberturaConexao.png]]
#*'''Números de sequência''' iniciais escolhidos pelo cliente e servidor;
#*O '''Tamanho Máximo de Segmento''' ('''MMS''') negociado na conexão;
#*O '''Tamanho Máximo de Segmento''' ('''MMS''') negociado na conexão;
#*A quantidade de Bytes trocados em cada pacote;
#:[[Arquivo:MTU.png]]
#Executar o comando '''telnet''' na '''porta 81''' do servidor Web e capturar com o '''tcpdump''' os pacotes de rejeição conexão TCP. Interpretar os pacotes trocados.
#*Analise a evolução dos '''números de sequência e reconhecimento''' ao longo da transferência da página Web e sua relação com a quantidade de Bytes trocados em cada pacote;
#Abrir uma conexão TCP com o servidor Web, executando o comando '''telnet''' na '''porta 80''' do servidor e depois abortar a conexão com CTRL-C. Em seguida capturar com o '''tcpdump''' os pacotes de encerramento de conexão TCP. Interpretar os pacotes trocados.
#*Analise a sequência de '''encerramento de conexão TCP''', verificando os '''''flags''''' setados em cada pacote;
;Tarefa: Construa diagramas de troca de mensagens para ilustrar os processos de estabelacimento/recusa/encerramento de conexão TCP, incluindo os valores reais utilizados como números de porta e números de sequência e reconhecimento.
#:[[Arquivo:EncerramentoConexao.png]]


==Captura de pacotes de uma conexão Web==
===Tarefa===
;Exercícios:
Construir um '''diagrama de troca de mensagens''', ilustrando os pacotes trocados entre o cliente e o servidor, incluindo os valores reais utilizados como '''endereços IP''', '''números de porta''', '''''flags''''', '''números de sequência e reconhecimento''' e quantidade de '''bytes''' trocados.
#Preparar um comando '''tcpdump''' para capturar pacotes TCP na interface de rede com origem ou destino em um servidor Web. Limitar a captura em 10 pacotes.
#Acessar o servidor Web a partir do navegador.
#Analisar os pacotes capturados procurando identificar:
#*pacotes relativos à abertura de conexão;
#*o envio do pedido HTTP (GET) do navegador ao servidor;
#*os primeiros dados solicitados sendo enviados do servidor ao cliente.
#Analise o conteúdo ASCII dos pacotes HTTP.
#Analise os números de sequência e reconhecimento utilizados pela máquina cliente e servidora. Analise os números de seqüência e reconhecimento utilizados pela máquina cliente e servidora.
#Analise os ''flags'' TCP utilizados em cada pacote (S, A, P, ...).
 
;Tarefa: Construir um diagrama de troca de mensagens, ilustrando os pacotes trocados entre o cliente e o servidor, incluindo os valores reais utilizados como números de porta e números de sequência e reconhecimento.
 
;Para entregar: Elaborar relatório descrevendo a captura de pacotes com '''tcpdump''', incluindo descrição dos comandos utilizados e analise dos pacotes capturados.





Edição atual tal como às 12h28min de 13 de março de 2017

Laboratório: Captura de pacotes TCP

Requisitos de software
Este laboratório utiliza a ferramenta de captura de pacotes Wireshark.
  • Para utilizar o Wireshark é necessário que o administrador atribua permissão para os usuários normais poderem executá-lo.
  • Outra opção é utilizar uma máquina virtual com a placa de rede configurada em modo bridge e com permissão de administrador e instalar os aplicativos e utilizar o Wireshark.
Veja no link wireshark as instruções para download e instalação do Wireshark, bem como as instruções para uso do ferramenta.

Objetivos

O objetivo deste laboratório é estudar o funcionamento da Aplicação Web e explorar o funcionamento do protocolo TCP, incluindo as a análise das portas TCP utilizadas pelo cliente e pelo servidor e dos pacotes de abertura e encerramento da conexão TCP.

Captura de pacotes de abertura e encerramento de conexão

Exercícios
  1. Verificar o endereço IP e a interface de rede que está sendo utilizada pela máquina onde o wireshark será executado, com o comando ifconfig.
  2. Escolher um servidor Web para acessar a partir do navegador.
  3. Faça um ping no servidor Web para descobrir seu endereço IP.
  4. Preparar o wireshark para capturar pacotes TCP.
  5. Acessar o servidor Web e analisar a captura de pacotes realizadas, procurando identificar as seguintes informações:
    • No pacote IP, identifique o endereço IP do cliente e do servidor;
    • No pacote TCP identifique a porta origem e destino escolhidas pelo cliente e pelo servidor;
    • Analise a sequência de abertura de conexão TCP, verificando os flags setados em cada pacote;
    • Números de sequência iniciais escolhidos pelo cliente e servidor;
    • O Tamanho Máximo de Segmento (MMS) negociado na conexão;
    • Analise a evolução dos números de sequência e reconhecimento ao longo da transferência da página Web e sua relação com a quantidade de Bytes trocados em cada pacote;
    • Analise a sequência de encerramento de conexão TCP, verificando os flags setados em cada pacote;

Tarefa

Construir um diagrama de troca de mensagens, ilustrando os pacotes trocados entre o cliente e o servidor, incluindo os valores reais utilizados como endereços IP, números de porta, flags, números de sequência e reconhecimento e quantidade de bytes trocados.



--Evandro.cantu (discussão) 17h12min de 20 de março de 2015 (BRT)