Universidade Federal do Rio Grande do Norte Redes de Computadores - Camada de Aplicação Curso de Engenharia de Software Prof. Marcos Cesar Madruga/Thiago P. da Silva Material basedado em [Kurose&Ross 2009]
Prática Protocolo HTTP HTTP Instale o Servidor Web Apache Tomcat ou qualquer outro servidor para baixá-lo e informações de como instalar: http://tomcat.apache.org/ pode ser qualquer versão Inicie o Servidor Web e crie uma página simples para fazer os testes Capture os pacotes da interface lo(127.0.0.1) com o Wireshark Abra o browser e acesse o endereço 127.0.0.1:8080 onde 8080 é a porta que o Servidor Web está ouvindo Analise os pacotes capturados pelo Wireshark. Agora utilize o telnet para abrir uma conexão com o Servidor Web e requisitar uma página qualquer Telnet 127.0.0.1 8080 Utilize o protocolo HTTP para recuperar a paǵina de teste (GET)
DNS Prática - Utilize o utilitário dnslookup para traduzir nomes em edereço IP. Exemplo: nslookup www.ufrn.br Server: 192.168.2.1 Address: 192.168.2.1#53 Non-authoritative answer: Name: www.ufrn.br Address: 200.17.143.31
FTP (File Transfer Protocol) Comandos FTP USER <username> PASS <password> LIST - retorna listagem dos arquivos no diretório atual RETR <filename> - recupera o arquivo (GET do HTTP) Respostas FTP 331 Username OK, password required 125 data connection already open; transfer starting 425 Can t open data connection 452 Error writing file STOR <filename> - armazena o arquivo no host remoto (PUT do HTTP) SYST informações do servidor FTP PWD diretório atuual TYPE <type> - seta o modo de transferência, I (ASCII) e B (Binário) CWD <dir> - muda de diretório SIZE <filename> - tamanho do arquivo MDTM <filename> data da última modificação do arquivo PASV entra em modo passivo
FTP (File Transfer Protocol) Instale o Apache FTPServer na sua máquina. Baixe o servidor, disponível para Linux e Windows, em http://mina.apache.org/ftpserver/apache-ftpserver-105-release.html A instalação é muito fácil, basta extrair o arquivo compactado para um diretório qualquer; cofigurar o arquivo apache-ftpserver- 1.0.5/res/conf/ftpd-typical.xml e mudar na linha..<nio-listener name="default" port="2121">... a variável port para 21 ou qualquer outra porta que vc queira que o servidor execute. Inicialize o servidor FTP: Dentro da pasta bin/ execute./ftpd.sh res/conf/ftpd-typical.xml (Linux) ou ftpd.exe res/conf/ftpd-typical.xml (windows) Pronto, está funcionando o servidor e vc já pode fazer os testes. A pasta aonde vc pode coloar os arquivos para serem distribuídos é res/home.
FTP (File Transfer Protocol) Exemplo prático Abrir wireshark e monitorar interface lo (lookback) Abrir browser e conectar ao seu servidor FTP ftp://localhost:21 Localhost é o mesmo que 127.0.0.1 Monitorar pacotes Analisar os comandos (protocolo FTP) que o browser troca com o servidor Explique cada um deles Verificar variável idleconnectiontimeout do browser no firefox about:config Ser a conexão com servidor FTP ficar inativa (sem troca de dados) pelo período de iddleconnectiontimeout, o browser fechará a conexão.
Correio eletrônico Instale o james Server http://linorg.usp.br/apache//james/server/james-server-container-spring-3.0 Extrai o arquivo em uma pasta qualquer e dê permissão de execução chmod +x james.sh Inicializar: dentro da pasta bin/ execute como root (superusuário) james start Faça telnet para porta 4555 e adicione contas de correios com o utilitário do James Utilize o comando help para informações de como adicionar contas de email Pronto! servidor instalado localmente (127.0.0.1) com as portas 25 e 110 alocadas ao SMTP e POP Por padrão o servidor SMTP cria um email no formato nomedasuamaquina@localhost
Correio eletrônico Prática enviar uma mensagem ao servidor de correio utilizando SMTP (não há necessidade do agente de usuário) telnet localhost 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 127.0.1.1 SMTP Server (JAMES SMTP Server 3.0-M1) ready Fri, 24 Jun 2011 13:03:40-0300 (BRT) HELO remetente.dominio 250 127.0.1.1 Hello alguma.coisa.br (localhost [127.0.0.1]) mail from: <remetente@remetende.dominio> 250 2.1.0 Sender <remetente@remetende.dominio> OK rcpt to: <thiago@localhost> 250 2.1.5 Recipient <thiago@localhost> OK data 354 Ok Send data ending with <CRLF>.<CRLF> Estou na aula de redes agora e tenho que prestar atenção!. 250 2.6.0 Message received quit
Correio eletrônico Prática ler mensagens do servidor de correio utilizando o POP telnet localhost 110 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. +OK 127.0.1.1 POP3 server (JAMES POP3 Server ) ready user thiago +OK pass thiago +OK Welcome thiago list +OK 2 573 1 243 2 330. retr 2 +OK Message follows Return-Path: <remetente@remetende.dominio> Received: from localhost ([127.0.0.1]) by 127.0.1.1 (JAMES SMTP Server ) with SMTP ID 793 for <thiago@localhost>; Fri, 24 Jun 2011 13:04:55-0300 (BRT) segunda mensagem que envio para vc! Estou na aula de redes agora e tenho que prestar aten????o!
Correio eletrônico Prática configure um cliente de email Configure o Evolution mail no linux ou outllook no windows para trabalhar com o servidor que vc instalou; Envie e receba emails pelos clientes e verifique as informações adicionais que são insiridas nos cabeçalhos das mensagens;
Correio eletrônico Prática - Acessar servidores de correios que utilizam SSL Utilize o OpenSSL para abrir uma conexão segura (TCP + SSL) e usar o protocolo POP para ler as mensagens, normalmente, do seu servidor de correio openssl s_client -crlf -connect pop.gmail.com:995 openssl s_client -crlf -connect pop3.live.com:995