RCO-Subsequente-2022-1
Instalação do imunes
Ver anotações do Prof.Odilson - Instalação Imunes
AULA 01 - AULA DIA 31/03/2022
Registrada no SIGAA. Ver pdf de slides e do laboratório.
AULA 02 - AULA DIA 2/04/2022
Registrada no SIGAA. Aula sábado conforme determinação do DEPE. Ver leitura e questionário registrado.
AULA 03 - AULA DIA 7/04/2022
Ver slides de apoio no SIGAA.
Laboratório 1
Ver pdf no SIGAA.
Objetivos
Após este laboratório o aluno deverá ser capaz de:
- Utilizar a ferramenta wireshark para capturar de pacotes da rede, usando o filtro de display;
- Utilizar a ferramenta imunes para simulação funcional de uma rede de computador;
- Explanar a estrutura de um pacote de rede caracterizando o encapsulamento devido a múltiplas camadas de protocolos;
- Explicar o conceito de protocolo através da análise de troca de pacotes com ping e traceroute
- Utilizar a opção de flow graph para visualizar as trocas de mensagens.
- Identificar equipamentos em uma rede: hosts, switches e roteadores;
- Assimilar o conceito de internetwork (conexão entre redes);
- Identificar a necessidade de uso de endereços e rotas em uma rede de pacotes;
Laboratório 2
Este laboratório não terá relatório a ser registrado no SIGAA. Faremos sob a orientação do professor.
Laboratório 2 - Wireshark: observação simples de pacote e identificação de encapsulamento |
---|
FUNDAMENTAÇÃO TEÓRICA: Sobre o analisador WiresharkO analisador de pacotes exibe os conteúdos de todos os campos dentro de uma mensagem de protocolo. Para que isso seja feito, o analisador de pacotes deve “entender” a estrutura de todas as mensagens trocadas pelos protocolos. Suponha que estamos interessados em mostrar os vários campos nas mensagens trocadas pelo ping. O analisador de pacotes entende o formato dos quadros Ethernet, e desta forma pode identificar o datagrama IP dentro de um quadro. Ele também entende o formato do datagrama IP, para que ele possa extrair o pacote ICMP usado pelo ping. Nós utilizaremos o sniffer Wireshark (http://www.wireshark.org) para estes laboratórios, o que nos permite exibir os conteúdos das mensagens sendo enviadas/recebidas de/por protocolos em diferentes camadas da pilha de protocolos. Tecnicamente falando, Wireshark é um analisador de pacotes que pode ser executado em computadores com Windows, Linux/UNIX e MAC. É um analisador de pacotes ideal para nossos laboratórios, pois é estável, tem uma grande base de usuários e é bem documentado incluindo um guia de usuário (http://www.wireshark.org/docs/wsug_html/), páginas de manual (http://www.wireshark.org/docs/man-pages/), e uma seção de FAQ detalhada (http://www.wireshark.org/faq.html), funcionalidade rica que inclui a capacidade de analisar mais que 500 protocolos, e uma interface com o usuário bem projetada. OBS: Se o wireshark estiver instalado em sua máquina, para chamá-lo a partir de um terminal deve fazer: sudo wireshark ETAPA 1: Identificando os campos da interface do WiresharkQuando você executar o programa Wireshark, a interface com o usuário exibida na Figura abaixo aparecerá. Inicialmente, nenhum dado será apresentado nas janelas. A interface do Wireshark tem seis componentes principais:
ETAPA 2 - Verificando pacotes do ping (ICMP REQUEST/REPLY))
Etapa 3
|
Laboratório 3
Este laboratório deverá ser registrado no SIGAA. Utilizaremos o simulador IMUNES. Aguarde as orientações básicas de uso.
Laboratório 3 - LANs, WANs, Equipamentos de Redes, Conectividade na rede: Ping |
---|
Este laboratório é formado uma mescla de teoria e prática e deverá ser elaborado juntamente com o professor na sala. ETAPA 1
ETAPA 2
ETAPA 3
ETAPA 3
ETAPA 4
ETAPA 5
ETAPA 6
ETAPA 7
|
AULA 04 - dia 14/04/2021
Objetivos
Após esta aula o aluno deverá:
- reconhecer o papel da camada de aplicação em uma estrutura de camadas de protocolos;
- identificar o modelo cliente servidor usado em grande parte de aplicações da Internet;
- reconhecer a necessidade de endereçamento em nível de processos para identificação de aplicações;
- observar o processo de encapsulamento/desencapsulamento de dados da aplicação em uma estrutura de camadas de protocolos.
Slides desta aula
Ver sigaa.
Fundamentação Teórica
Camadas de Protocolos e posicionamento da camada de aplicação
Vamos fazer uma analogia com um envio de um livro de um membro de um clube de livro para outro. Observe que o serviço esperado de um protocolo em nível de aplicação é resolver um problema específico já em nível de aplicação. Neste caso, é a transferência de um livro de um local para outro através de entidades de aplicação (pessoas) que estão trocando livros.
Camadas de Protocolos(ícones do www.publicdomainvectors.org)
Protocolo e Serviços da Camada de Aplicação
O desenho abaixo mostra um usuário USANDO um serviço de acesso PÁGINAS WEB. Neste desenho pode-se observar:
- um programa cliente é utilizado pelo usuário para REQUISITAR uma página WEB que se encontra em outro COMPUTADOR;
- um programa SERVIDOR espera por mensagens de REQUISIÇÃO e RESPONDE enviando a página solicitada;
- Um PROTOCOLO DE APLICAÇÃO é executado entre as partes (entidades que se comunicam).
- Observar que tanto cliente como o servidor podem ser ENDEREÇADOS por um número da máquina (IP) e um endereço de porta.
- Um mecanismos chamado socket (como se fosse um plugue) de uma tomada permite a aplicação se conectar ao protocolo da camada de
baixo.
Protocolo da Camada de Aplicação(ícones do www.publicdomainvectors.org)
Laboratório 4
Laboratório 4 - Camada de Aplicação: Colocando no "ar" aplicações cliente servidoras |
---|
Neste laboratório vamos construir uma pequena internet, colocando dois serviços no "ar": um web server e um servidor ssh. Mostremos uma visão do posicionamento dos "pacotes de aplicação" capturados para cada um destes serviços. Os serviços são, portanto:
ETAPA 1 - Construindo uma rede para dar suporte aos serviçosVamos usar o simulador imunes para TER um sentimento do comportamento em camadas em uma rede simples. Construir no Imunes a rede a seguir. Se preferir importe o arquivo daqui. ETAPA 2 - Colocando serviço (camada aplicação) no ARVamos agora executar 3 serviços que se utilizam de protocolos da camada de aplicação:
ETAPA 3 - Iniciando a REDEETAPA 4 - Executando serviço TELNETEtapa 4.1- Iniciando o servidorO serviço TELNET pode iniciado a partir da linha de comando no computador onde será executado o lado servidor. Por facilidade, no imunes vamos iniciá-lo conforme abaixo. Faça um comando ps aux e mostre que o serviços está se executando na máquina alvo. ETAPA 4.2 - Criando um usuário no host1 para fazer um acesso remotoVamos criar um usuário no host1 para podermos acessar o computador remotamente via TELENET
ETAPA 4.3 - Acessando remotamente o host1 através da conta criada
RECORTE E COLE a TELA no relatório. ETAPA 4.4 - Captura de pacotes do telnetAgora vamos capturar pacotes do telnet. Basta usar o wireshark em qualquer interface onde passam os pacotes. Por exemplo, no próprio pc2, no host1 ou em qualquer roteador por onde os pacotes passam. SIGA as instruções do PROFESSOR e recorte a tela do wireshark, filtrando os pacotes do TELNET. Mostre o encapsulamento de pacotes de aplicação e seu posicionamento na estrutura de pacotes. ETAPA 5 - Executando serviço WEBEtapa 5.1 - Preparando uma página html para colocar no servidor WEBEscolha uma máquina para utilizar como Web Server. Prepare uma página html neste SERVIDOR. As páginas do servidor se encontram no diretório /var/www/html Páginas da internet são construídas usando o formato HTML. Ver aqui o que é uma página HTML e como construir uma ágina simples. Vá até o diretório /var/www/html e use o editor nano para editar uma página chamada index.html
<html>
<body>
<h1>Rede de Computadores Subsequente</h1>
<p>Pagina teste do aluno Pedro Alvares Cabral da Silva</p>
</body>
</html>
Etapa 5.2 - Colocando o Web Server no arDe nada adianta ter uma página html e não ter um programa SERVIDOR que possa enviá-la para um cliente, quando este solicitá-la. Vamos iniciar o SERVIÇO WEB para testar o protocolo HTTP. Note que HTTP é o protocolo executado entre o cliente e o servidor. O servidor WEB "cuida" das páginas do site (da rede onde se encontra). O programa servidor disponível é o lightppd Para executá-lo, abrir um terminal no servidor e executar o comando:
lighttpd -f /etc/lighttpd/lighttpd.conf
ps aux Etapa 5.3 - Acessando o Web Server a partir de um clienteFaça um acesso a sua página, a partir do firefox (cliente HTTP) em um PC cliente de sua escolha. Coloque a URL (recurso a ser acessado) no topo do firefox. RECORTE a tela do acesso e corte no relatório. Etapa 5.4 - Capturando pacotes no cliente e visualizando pacotes httpFaça uma captura de pacotes com wireshark e mostre os pacotes http envolvidos na comunicação.
|
AULA 5 - DIA 28/04/2022
Objetivos
Após esta aula o aluno deverá ser capaz de:
- explicar a operação básico do protocolo http;
- reconhecer a diferença entre as versões 1.0 e 1.1. do protocolo HTTP;
Leitura recomendada
- FOROUZAN, Behrouz A. Protocolo TCP/IP. [Digite o Local da Editora]: Grupo A, 2010. 9788563308689. Disponível em: https://app.minhabiblioteca.com.br/#/books/9788563308689/. Acesso em: 28 abr. 2022. CAP.22.
Slides desta aula
Laboratório 5 - HTTP BÁSICO: Desvendando o HTTP com Wireshark |
---|
Prepare um documento no googledrive para anotar o relatório deste experimento. Coloque o seu nome no início e denomine o arquivo de Lab5-HtmlBasico. ObjetivosNeste laboratório o aluno deverá explorar aspectos básicos da operação do protocolo HTTP incluindo:
PARTE 1 - A Interação Básica GET/Resposta do HTTPETAPA 1 - Preparativos Iniciais
ETAPA 2 - Capturando e visualizando pacotes html
ETAPA 3 - Identificando as mensagens GET e a resposta
RECORTE a tela com as mensagens, cole no relatório e explique o significado das mesmas. Não é necessário explicar cada campo dos headers, mas passar uma noção do significado das mensagens. ETAPA 4- Identificando o encapsulamento do "pacote" html na camada de transporte
RECORTE a tela com detalhe do encapsulamento de uma mensagem html nas camadas inferiores. Discuta este encapsulamento. ETAPA 5 - Identificando o texto html no pacote http de respostaObserve as informações das mensagens HTTP GET e de resposta. Você consegue inclusive enxergar a mensagem (página) mostrada no navegador: RED29004! Página de teste. Indique em que parte da mensagem você encontrou a informação que responde às questões. RECORTE a tela e mostre onde está o texto html no pacote http. ETAPA 6 - Responda as perguntas abaixo
PARTE 2 - Interação Básica GET/Resposta do HTTP usando TELNET e REQUISIÇÃO MANUALVamos repetir o acesso aos links acima, porém sem usar o navegador. A ideia é que nós façamos o papel de navegador. Isso deve ser feito com os seguintes passos: ETAPA 1 - Preparativos iniciais
ETAPA 2
RECORTE A TELA e analise/responda a pergunta abaixo
ETAPA 3
RECORTE A TELA e discuta. ETAPA 4
ETAPA 5
ETAPA 6
PARTE 3 - Desafio - Um cenário com dois web servers e referências de páginas entre sitesConstruir um cenário no IMUNES usando dois web servidores. Fazer duas páginas uma em cada servidor. Uma página deve conter o link para a outra. Examinar |
AULA 6 - DIA 5/05/2022
Objetivos
- PARTE 1
Após esta aula o aluno deverá ser capaz de:
- Explicar o comando GET Condicional/Resposta no protocolo HTTP;
- Explicar o comportamento do http com documentos HTML com Objetos Incluídos;
- PARTE 2
- explicar as funcionalidades básicas do DNS, observando pacotes gerados pelo mesmo em uma consulta básica.
Leitura recomendada
- FOROUZAN, Behrouz A. Protocolo TCP/IP. [Digite o Local da Editora]: Grupo A, 2010. 9788563308689. Disponível em: https://app.minhabiblioteca.com.br/#/books/9788563308689/. Acesso em: 28 abr. 2022. CAP.22.
LABORATÓRIO 06 - Características adicionais do HTTP
Criar um documento no googledrive com o título LAB06-HTML-PARTE2. Relatar o experimento abaixo
PARTE 1 - A Interação HTTP GET Condicional/Resposta
A maioria dos navegadores web tem um cache (seção 2.2.6 do livro) e, desta forma, realizam GET condicional quando pretendem baixar um objeto HTTP já presente em seu cache.
Execute os seguintes passos:
- Inicie o Chrome;
- Limpe o cache do seu navegador(Ctrl + Shift + Del);
- Inicie o Wireshark;
- Digite o URL no navegador http://tele.sj.ifsc.edu.br/~odilson/RED29004//RED29004.html.
- Seu navegador deve exibir um arquivo em HTML muito simples com duas linhas;
- Pressione o botão refresh (F5) no navegador (ou digite o URL novamente);
- Pare a captura de pacotes, e digite “http” na caixa de texto de especificação de filtro, para que apenas as mensagens HTTP sejam apresentadas na janela de listagem de pacotes.
- Se você realizou o procedimento corretamente, você visualizará um total de 6 mensagens no Wireshark: três GETs e três respostas.
- Obs: Para fins de análise, despreze a solicitação e resposta relativa ao favicon.ico, que é relativa ao download do ícone do IFSC.
Tarefa:
- Inspecione o conteúdo da primeira mensagem HTTP GET do seu navegador para o servidor tele.sj.ifsc.edu.br. Você vê uma linha “If-Modified-Since”?
- Inspecione o conteúdo da primeira resposta do servidor. O servidor retornou explicitamente o conteúdo do arquivo? Como você pode dizer isso?
- Agora inspecione o conteúdo da segunda mensagem HTTP GET do seu navegador para o servidor. Você vê uma linha “If-Modified-Since”? Caso a resposta seja afirmativa, qual informação segue o cabeçalho “If-Modified-Since”?
- Qual é o código de status e a frase retornada do servidor na resposta à segunda mensagem HTTP GET? É diferente do código de retorno da primeira mensagem?
- O servidor retornou explicitamente o ojeto HTTP na segunda requisição? Explique.
- Qual o tamanho da primeira e segunda mensagem de retorno do servidor? O que explica a diferença de tamanho?