You are on page 1of 31

Infra-Estrutura de Comunicao

(IF678)
Aula Prtica 01

Professor: Paulo Gonalves (pasg@cin.ufpe.br)

CIn/UFPE

Caio Mc Intyre (cfmi)

Lucas Ventura (lvs)

Srgio Pessoa (srpvnf)



Bruno Gentilini (bgda)

Eduardo Souza (efs)

Lus Felipe Auto (lfag)



2
Nosso objetivo:

Experimentos em:
Traceroute, entender o backbone da internet;
Usando o comando Ping;
Telnet para HTTP;
Telnet para SMTP;
Telnet para POP3;

Introduo programao com sockets.
Experimentos com Traceroute

Faremos um traceroute para www.ufam.edu.br e
observaremos os resultados obtidos com o mesmo.




Comando: tracert www.ufam.edu.br

Perguntas:
A) Por que os pacotes foram para o Sudeste
em vez de seguirem diretamente para o
Norte?
B) Por que aps SP teramos apenas um salto
at Amazonas?
C) Por que o atraso cresce a cada salto?
Porque h uma grande diferena entre alguns
saltos?
D) Qual o nome e o endereo IP do roteador
de acesso Internet do CIn?

Traceroute (Continuao!)
E) Pode ser que o traceroute termine em 30
saltos mas tendo s asterscos a partir do
nono. Qual a razo?

F) Faam um traceroute para www.umass.edu .
Por que a ordem de grandeza dos atrasos
cresceu em comparao ao primeiro
traceroute?

Ping
Faam um ping para diversos endereos
diferentes, observando as respostas.

Comando: ping destinatrio

Como funciona o ping?
Protocolos
...protocolo um padro que
especifica o formato de dados e as
regras a serem seguidas...
Para que possa haver harmonia na
comunicao entre as partes
envolvidas
Anlogos aos vrios idiomas
existentes...
Exemplos: HTTP, FTP, DNS, TCP, UDP
Camadas da Internet
Padro OSI (Open Systems
Interconnection) definido pela
ISO (International
Standardization Organization).
Modelo da Internet
Estaremos concentrados na camada de
aplicao...


Telnet
Protocolo cliente-servidor da camada de
aplicao
Permite acesso remoto
Telnet [RFC 854] no possui criptografia
Um sniffer escuta a rede facilmente
Telnet x SSH


usaremos ele daqui a pouco....

10
O Protocolo HTTP
HTTP Protocolo de Transferncia de Hipertexto
o protocolo base da WEB
Viabiliza a obteno de Objetos(pginas, imagens...)
Funciona no modelo cliente-servidor
O HTTP define como o cliente (browser) requisita as pginas
WEB e como o servidor as transfere
Usa o TCP como transportador, podendo assim garantir
transmisses confiveis
Utiliza a porta 80 como padro
11
Mtodos HTTP
Alguns mtodos do HTTP 1.1:
GET: busca um objeto definido por uma URL requisio
PUT: indica que os dados no corpo da consulta devem ser
armazenados na URL especificada
POST: envia dados para serem processados pelo servidor
no corpo da mensagem
HEAD: Similar ao mtodo GET, mas retorna somente o
cabealho da resposta do servidor
DELETE: apaga o arquivo especificado na URL
12
Experimentos com HTTP
Tpica mensagem de requisio cliente-servidor:
GET /<diretrio> HTTP/1.1
Host: <ip de onde se encontra o diretrio>

Executem os comandos abaixo observando o cabealho da
resposta e os dados das respostas de cada um:

telnet google.com 80
GET /index.html HTTP/1.1
Host: www.google.com.br

e tambm





telnet cin.ufpe.br 80
GET /naoexiste/index.html HTTP/1.1
Host: www.cin.ufpe.br
Mensagem de resposta
Na mensagem de resposta temos:
Uma linha inicial (Status-Line)
Verso do protocolo HTTP (HTTP-Version)
Cdigo de status da resposta (Status-Code) e
Descrio do cdigo de status (Reason-Phrase)
Linhas de cabealhos (Responseheader)
Uma linha em branco obrigatria e
Um corpo de mensagem opcional

Alguns cdigos de resposta
200 OK - conexo estabelecida e objeto requisitado
encontrado
302 Found - indica um redirecionamento temporrio
onde no cabealho Location est a URL da nova
localidade
301 Moved Permanently - indica que o ouve um
redirecionamento permanente. E no campo Location
do Head est a nova localidade, o registro com a URL
antiga deve ser alterado para a nova
304 Not Modified - usado quando o cliente utiliza
cache, indicando que o objeto solicitado no foi
alterado
404 Not Found - indica que o recurso no foi
encontrado
403 - acesso negado

Experimentos com SMTP
A) Usar o telnet com comandos SMTP para enviar um email a um colega
da sala.



B) Usar o telnet com comandos SMTP para enviar um email a si prprio
com endereo do email de origem de um outro colega.





Obs: ativar o sniffer
16
Exemplo SMTP
telnet ferreiros.cin.ufpe.br 25 //tecle enter
220 CIn-UFPE ESMTP Mail Server
Helo comunicacao //tecle enter
250 ferreiros.cin.ufpe.br Hello g3c22.cin.ufpe.br
[172.17.67.22], pleased to meet you
mail from: [seu login]@cin.ufpe.br //tecle enter
250 2.1.0 [seu login]@cin.ufpe.br... Sender ok
rcpt to: cfmi@cin.ufpe.br //tecle enter
250 2.1.5 bgda@cin.ufpe.br... Recipient ok
data //tecle enter
Alo vc! //Corpo da mensagem - tecle enter
. //tecle enter
quit //tecle enter
Incrementando o e-mail


Como inserir o Assunto em um email passado via telnet?



e para envi-lo com CC ou BCC ?



Consultar a RFC em 2821 !!
18
HELP no SMTP

Supondo que voc sabe de uma falha de segurana do
servidor de email que usa o software sendmail e que essa
falha fosse especfica de uma determinada verso. Como
voc poderia verificar se determinado servidor de email
possui tal falha?

Simples, s enviar uma mensagem de HELP pro servidor,
que ele retornar a verso do software que ele utiliza.

Exemplo no prximo slide


19
HELP no SMTP

telnet ferreiros.cin.ufpe.br 25

HELP




20
Comando EHLO no SMTP

Como saber qual o tamanho mximo da mensagem que
voc pode enviar ao servidor de e-mail?

Usando o comando EHLO ao invs de HELO


Exemplo no prximo slide


21
Comando EHLO no SMTP
telnet ferreiros.cin.ufpe.br 25
EHLO comunicacao

250-SIZE 8388608 << 8.388.608 bytes


22
Mas nem tudo so flores

To simples quanto enviar um Fake Mail capturar esse trfego.


O WireShark um sniffer, que analisa o trfego na rede.


Ele consegue filtrar to detalhadamente quanto desejemos as
informaes.


obs: mostrar o WireShark
Experimentos com POP3
A) Com o auxlio do telnet, acessar a prpria caixa postal com comando
POP3.

Alguns servidores de e-mail no tem servio de POP3

Alguns servidores conhecidos que aceitam tais requisies so uol, oi,
bol e globo.

Exemplo no prximo slide!
Exemplo POP3
telnet pop3.uol.com.br 110
+OK POP server ready
user nomedousurio
Servidor pede a senha.
pass suasenha(cuidado senha vai aparecer no deixe ningum ver)
Servidor avisa que voc est conectado.
list
Solicitao para lista e nmeros dos e-mails
retr 1
Solicitao para leitura do e-mail 1
dele 1
Solicitao para deletar o e-mail 1
quit
Desconectado.
DNS
um banco de dados distribudo entre
servidores Hierrquicos

um protocolo para consulta a esse banco

Permite que possamos obter o IP do
servidor desejado atravs de sua URL

Vamos olhar na prtica com o WireShark...
26
Comunicao entre processos
Processos em hosts distintos comunicam-se por meio de envio
de mensagens...
enviadas e recebidas atravs de seu socket
Socket a interface entre a
camada de aplicao e a de
transporte
27
Servios requeridos pelas aplicaes
Transferncia de dados confivel
No pode haver perda de dados durante a transmisso
Exemplos: transferncia de arquivos, mensagem
instantnea
Banda passante disponvel
Algumas aplicaes necessitam de uma banda passante
mnima para haver consistncia dos dados no receptor
Exemplos: aplicaes multimdia
Garantia de tempo
Algumas aplicaes requerem um tempo mximo de atraso
para a transmisso dos dados
Exemplos: aplicaes em tempo real, jogos multiusurios
28
TCP: transporte confivel
A Internet trabalha no esquema do Melhor esforo

No entanto, muitas aplicaes precisam de garantias...

O protocolo TCP prov:
Transporte confivel: os dados vo chegar corretamente!
Controle de congestionamento: diminui a taxa de
transmisso de um processo quando a rede est
sobrecarregada
Controle de fluxo: um host no receber um volume de
dados maior que o suportado por ele
29
UDP: um protocolo leve
O UDP um protocolo de transporte bastante simplificado

No possui a fase de setup do TCP

E no fornece nenhuma garantia de entrega dos dados

Isso o torna mais leve e possibilita menor sobrecarga no
servidor que o utiliza

utilizado no transporte de voz sobre IP, por exemplo
30
Continuaremos com...




PROGRAMAO COM SOCKETS!
31
Referncias
1. James F. Kurose and Keith W. Ross, "Redes de
Computadores e a Internet - Uma Nova
Abordagem", 3a. edio - 2005 - Ed. Addison
Wesley BRA
2. http://www.rfc.net/
3. http://www.ietf.org/rfc.html
4. http://java.sun.com/j2se/1.5.0/docs/api/java/net/
package-summary.html
5. http://java.sun.com/j2se/1.5.0/docs/api/java/net/
Socket.html
6. Slides antigos da monitoria (faas)

You might also like