Universidade Federal do Rio Grande do Norte Redes de
Transcrição
Universidade Federal do Rio Grande do Norte Redes de
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] HTTP Prática – Protocolo 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 pagǵ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 Respostas FTP USER <username> 331 Username OK, password required PASS <password> 125 data connection already open; transfer starting LIST - retorna listagem dos arquivos no diretório atual 425 Can’t open data connection RETR <filename> - recupera o arquivo (GET do HTTP) 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-M2-bin.zip Extrai o arquivo em uma pasta qualquer e dê permissão de execução 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 chmod +x james.sh 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: <[email protected]> 250 2.1.0 Sender <[email protected]> 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: <[email protected]> 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