Wireshark

Propaganda
Wireshark
Captura de Protocolos da camada de aplicação
Maicon de Vargas Pereira
Camada de Aplicação
 Introdução
 HTTP (Hypertext Transfer Protocol)
2
Introdução
Camada de Aplicação
 Suporta os protocolos que atendem diretamente as necessidades dos usuários
 A camada de aplicação faz a interface de comunicação entre a aplicação que solicitou a informação através da rede e o protocolo de aplicação
Por exemplo: para enviar um e­mail, seu aplicativo cliente (ex:Outlook Express) entra em contato com o protocolo da camada de aplicação (ex: SMTP), que efetua a transmissão do mesmo
 Exemplos de Aplicações
Correio Eletrônico
A WEB
Mensagem Instantânea
Compartilhamento de Arquivos
Jogos MultiUsuáios
Telefonia IP
VideoConferência
3
 Principais protocolos da Camada de Aplicação
HTTP (HyperText Transfer Protoco)
SMTP (Simple Mail Transfer Protocol)
DNS (Domain Name System)
DHCP (Dynamic Host Configuration Protocol)
SNMP (Simple Network Management Protocol)
FTP (File Transfer Protocol)
4
HTTP (Hypertext Transfer Protocol)
 A Web e o HTTP
O HTTP surgiu da necessidade de compartilhar informações na Internet. Informações essas que poderiam estar na forma de texto, som ou imagem
Para que a transferência dessas informações fosse possível houve a necessidade de desenvolver uma forma padronizada de comunicação entre os clientes e os servidores web
O protocolo HTTP foi implementado a partir de 1989 no CERN (European Center for High­Energy Physics) em Genebra, na Suíça Definido pelas RFCs 1945 e 2616
5
 Estrutura do Protocolo HTTP
Arquitetura cliente/servidor
Objetos
Conexões
Cabeçalho
6
Estrutura do Protocolo HTTP
Arquitetura cliente/servidor
 Cliente: browser que solicita, recebe e apresenta objetos da Web
 Servidor: envia objetos em resposta a pedidos
Estrutura do Protocolo HTTP
Objetos
 Uma página web é constituída por objetos
 Um objeto pode ser um arquivo HTML, uma imagem, um áudio, etc.
 A maioria das páginas web são constituídas de um arquivo­base HTML e diversos objetos relacionados • Se uma página contiver um texto HTML e cinco imagens JPG, ela então terá 6 objetos
 O arquivo­base referencia os outros objetos na página através de URLs (Universal Resource Locator)
 Cada URL tem dois componentes básicos: a identificação do servidor e a localização do objeto
7
Estrutura do Protocolo HTTP
Conexões
• Tipos:
– Sem paralelismo: cliente envia uma nova requisição somente quando a resposta anterior for recebida
– Com paralelismo: cliente envia várias requisições em sequência (pipelining)CP são fechadas a cada requisição e resposta
• Conexões TCP consomem tempo de CPU, largura de banda e memória
• As páginas web costumam ser compostas por diversos objetos
 Persistentes
• Uma única conexão TCP é necessária
• Essa conexão permanece aberta até que todos os objetos sejam transferidos
• Tipos:
– Sem paralelismo: cliente envia uma nova requisição somente quando a resposta anterior for recebida
– Com paralelismo: cliente envia várias requisições em sequência (pipelining)
8
Estrutura do Protocolo HTTP
Cabeçalho de Requisição
Cabeçalho de Resposta
Cabeçalho de Requisição
 Três seções:
• Linha de Requisição
– Método (exemplo: Get, Post, Head, Delete)
– Caminho do objeto
– Versão do protocolo HTTP
• Linhas de Cabeçalho
• Corpo da Entidade
Cabeçalho de Resposta
 Três seções:
• Linha de status
– Versão do protocolo HTTP
– Código de resposta (estado)
– Frase
• Linhas de Cabeçalho
• Corpo da Entidade
9
 Proxy/Cache
Trata­se de uma entidade de rede instalada em uma dada organização que atende requisições HTTP em nome de um servidor de origem
Objetivo: atender o cliente sem envolver o servidor Web originador da informação
Tem seu próprio disco de armazenamento e mantém cópias de objetos recentemente requisitados
Pode reduzir significativamente o tempo de resposta para a requisição de um cliente
Pode reduzir significativamente o tráfego na Internet como um todo
Cliente configura seu browser para que o mesmo primeiramente consulte ao proxy
GET Condicional
 Embora possa reduzir os tempos de resposta do ponto de vista do usuário, fazer cache introduz um novo problema
• A cópia de um objeto existente no cache pode estar desatualizada
 O HTTP tem um mecanismo que permite que um proxy verifique se seus objetos estão atualizados
 Esse mecanismo é chamado de GET Condicional (conditional GET)
 Uma mensagem de requisição HTTP é denominada uma mensagem GET condicional se:
• Usar o método GET
• Possuir uma linha de cabeçalho: If­Modified­Since
10
11
Referências
 Kurose, J.; Ross, K. Redes de Computadores e Internet: uma nova abordagem. 12
Download