• Nenhum resultado encontrado

Apostila Linux Force

N/A
N/A
Protected

Academic year: 2021

Share "Apostila Linux Force"

Copied!
184
0
0

Texto

(1)
(2)

1 Conceitos Básicos de Redes de Computadores 1

1.1 Definições Gerais . . . 1

1.1.1 Classificação segundo a extensão geográfica . . . 1

1.1.1.1 Rede Local (LAN) . . . 1

1.1.1.2 Rede de Longa Distância (WAN) . . . 2

1.1.1.3 Rede Metropolitana (MAN) . . . 2

1.1.2 Conceitos importantes . . . 3

1.1.2.1 Internet . . . 3

1.1.2.2 Intranet . . . 4

1.1.2.3 Extranet . . . 4

1.1.2.4 VPN (Rede Privada Virtual) . . . 4

1.2 Modelo de Referência OSI . . . 5

1.2.1 Camada 1 – Física . . . 6 1.2.2 Camada 2 – Enlace . . . 6 1.2.3 Camada 3 – Rede . . . 7 1.2.4 Camada 4 – Transporte . . . 7 1.2.5 Camada 5 – Sessão . . . 8 1.2.6 Camada 6 – Apresentação . . . 8 1.2.7 Camada 7 - Aplicação . . . 8 1.3 Arquitetura TCP/IP . . . 9

1.3.1 Camada Fisica e de Enlace . . . 9

1.3.2 Camada de Rede . . . 10 1.3.3 Camada de Transporte . . . 10 1.3.4 Camada de Aplicação . . . 11 1.4 Endereçamento IPv4 . . . 12 1.4.1 Máscara de rede . . . 13 1.5 IPv6 . . . 19 1.5.1 Endereçamento . . . 20

1.5.1.1 Representação dos endereços . . . 21

1.5.1.2 Tipos de endereços IPv6 . . . 22

1.5.1.2.1 Endereços Unicast . . . 23

1.5.1.2.1.1 Identificadores de interface . . . 24

1.5.1.2.1.2 Endereços especiais . . . 25

1.5.1.2.2 Endereços Anycast . . . 26

(3)

2 Aprendendo GNU/Linux 32

2.1 Comandos e Shell . . . 32

2.1.1 O comando ls . . . 32

2.1.2 Criação, movimentação, cópia e remoção de arquivos e diretó-rios . . . 34 2.1.2.1 Criar arquivo . . . 34 2.1.2.2 Curingas . . . 35 2.1.2.3 Criando diretórios . . . 37 2.1.2.4 Removendo arquivos/diretórios . . . 38 2.1.2.5 Copiar arquivos/diretórios . . . 39

2.1.2.6 Mover ou renomear arquivos/diretórios . . . 40

2.2 FHS, Hierarquia dos Diretórios . . . 41

2.3 Estrutura de Diretórios GNU/Linux . . . 42

2.3.1 Diretório / . . . 42 2.3.2 DIRETÓRIO /bin . . . 43 2.3.3 Diretório /boot . . . 43 2.3.4 Diretório /dev . . . 44 2.3.5 Diretório /etc . . . 45 2.3.6 Diretório /lib . . . 49 2.3.7 Diretório /media . . . 49 2.3.8 Diretório /mnt . . . 50 2.3.9 Diretório /opt . . . 50 2.3.10 Diretório /sbin . . . 50 2.3.11 Diretório srv . . . 51 2.3.12 Diretório /tmp . . . 51 2.3.13 Diretório /usr . . . 52 2.3.14 Diretório /var . . . 53 2.3.15 Diretório /proc . . . 53 2.3.16 Diretório /sys . . . 55

2.3.17 Diretórios /home e /root . . . 55

2.3.18 Localização no sistema: find . . . 56

2.3.19 xargs . . . 59

3 Introdução à Segurança da Informação 61 3.1 Objetivos . . . 61 3.2 O que é segurança? . . . 61 3.3 Segurança da Informação . . . 63 3.4 Padrões/Normas . . . 63 3.4.1 ISO 27001 . . . 63 3.4.2 ISO 27002 . . . 64 3.4.3 Basileia II . . . 64 3.4.4 PCI-DSS . . . 64 3.4.5 ITIL . . . 64 3.4.6 COBIT . . . 64

(4)

3.4.7 NIST 800 Series . . . 65

3.5 Por que precisamos de segurança? . . . 65

3.6 Princípios básicos da segurança da informação . . . 66

3.6.1 Confidencialidade . . . 66 3.6.2 Integridade . . . 66 3.6.3 Disponibilidade . . . 67 3.6.4 Autenticidade . . . 67 3.6.5 Legalidade . . . 67 3.6.6 Terminologias de segurança . . . 68 3.7 Ameaças e ataques . . . 68 3.8 Mecanismos de segurança . . . 70 3.8.1 Mecanismos físicos . . . 70 3.8.2 Mecanismos lógicos . . . 71 3.9 Serviços de segurança . . . 71 3.10 Certificações . . . 72

4 Introdução ao Teste de Invasão e Ética Hacker 74 4.1 Objetivos . . . 74

4.2 Visão geral sobre o Pentest . . . 74

4.3 Tipos de Pentest . . . 75

4.3.1 Blind . . . 75

4.3.2 Double blind . . . 75

4.3.3 Gray Box . . . 75

4.3.4 Double Gray Box . . . 76

4.3.5 Tandem . . . 76 4.3.6 Reversal . . . 76 4.4 As fases de um ataque . . . 76 4.4.1 Levantamento de Informações . . . 77 4.4.2 Varredura . . . 77 4.4.3 Ganhando acesso . . . 78 4.4.4 Mantendo acesso . . . 79 4.4.5 Limpando rastros . . . 79 4.5 Categorias de ataques . . . 80

4.5.1 Server Side Attacks . . . 80

4.5.2 Client Side Attacks . . . 80

4.6 Metodologias existentes . . . 81

4.7 Como conduzir um teste de invasão . . . 82

4.8 Aspectos Legais . . . 84

5 Google Hacking 85 5.1 Google Hacking . . . 85

5.2 Comandos Avançados do Google . . . 85

5.2.1 intitle, allintitle . . . 85

(5)

5.2.3 filetype . . . 86 5.2.4 allintext . . . 86 5.2.5 site . . . 87 5.2.6 link . . . 87 5.2.7 inanchor . . . 87 5.2.8 daterange . . . 88 5.2.9 cache . . . 88 5.2.10 info . . . 88 5.2.11 related . . . 89

5.3 Google Hacking Database . . . 89

5.4 Levantamento de informações . . . 89

6 Levantamento de Informações 91 6.1 Objetivos . . . 91

6.2 Footprint . . . 91

6.3 Por onde começar? . . . 92

6.4 Consulta a informações de domínio . . . 93

6.5 Consultando servidores DNS . . . 94

6.6 Consultando websites antigos . . . 95

6.7 Webspiders . . . 96 6.8 Netcraft . . . 97 6.9 Buscando relacionamentos . . . 97 6.10 Rastreamento de E-mails . . . 98 6.11 Fingerprint . . . 99 6.12 Fingerprint passivo . . . 100 6.13 Fingerprint ativo . . . 101

6.13.1 Descobrindo um Sistema Operacional usando ICMP . . . 101

6.13.2 Calculando HOP . . . 102

6.13.3 Fingerprint através do xprobe2 . . . 102

6.14 Contramedidas . . . 103

7 Engenharia Social 104 7.1 O que é Engenharia Social? . . . 104

7.2 Tipos de Engenharia Social . . . 104

7.2.1 Baseada em pessoas . . . 104 7.2.2 Baseada em computadores . . . 105 7.3 Formas de ataque . . . 105 7.3.1 Insider Attacks . . . 105 7.3.2 Roubo de identidade . . . 105 7.3.3 Phishing Scam . . . 106 7.3.4 URL Obfuscation . . . 106 7.3.5 Dumpster Diving . . . 106 7.3.6 Persuasão . . . 106

(6)

8 Varreduras ativas, passivas e furtivas de rede 108

8.1 Varreduras Internet Control Messages Protocol (ICMP) . . . 108

8.2 Varreduras TCP . . . 109 8.3 NMAP . . . 110 8.4 Métodos de Varredura . . . 111 8.4.1 -sP . . . 111 8.4.2 -sV . . . 111 8.4.3 -sS . . . 111 8.4.4 -sT . . . 112 8.4.5 -sU . . . 112 8.4.6 -sF, -sX, -sN . . . 112 8.4.7 -T <Paranoid|Sneaky|Polite|Normal|Aggressive|Insane> . . . 113 8.5 Anonymizer . . . 113

8.5.1 Instalando e testando o TOR no BackTrack . . . 114

9 Enumeração de informações e serviços 117 9.1 Enumeração . . . 117

9.2 Aquisição de banners . . . 117

9.2.1 Técnicas clássicas . . . 118

9.2.2 Ferramentas . . . 118

10 Trojans, Backdoors, Vírus, Rootkits e Worms 120 10.1 Backdoor . . . 120

10.2 Cavalo de Tróia ou Trojan Horse . . . 120

10.3 Rootkits . . . 121

10.4 Vírus e worms . . . 122

10.5 Bots e Botnets . . . 123

10.5.1 Botnets . . . 123

10.5.2 Como o invasor se comunica com o Bot? . . . 124

10.5.3 Esquema simplificado de uma botnet . . . 124

10.6 Netcat . . . 125 10.6.1 Opções do Netcat . . . 125 10.6.2 Netcat - Utilização . . . 126 10.6.3 Encadeando Netcats . . . 127 10.7 Keylogger . . . 127 11 Ignorando Proteções 129 11.1 Evasão de Firewall/IDS com Nmap . . . 129

11.2 Firewall Tester . . . 130

11.2.1 Características: . . . 130

11.2.2 Utilização: . . . 130

11.2.3 Sintaxe: . . . 131

(7)

12 Tecnicas de Forca Bruta 133

12.1 Brute Force . . . 133

12.2 Wordlist . . . 133

12.2.1 Geração de Wordlist . . . 133

12.3 John The Ripper . . . 135

12.3.1 Modos . . . 136

12.3.2 Linha de Comando . . . 138

12.3.3 Usando o Jhon the Ripper . . . 140

12.4 THC-Hydra . . . 141

12.4.1 Usando o HydraGTK . . . 141

12.4.2 Hydra no terminal . . . 141

12.5 Rainbow Crack . . . 142

12.6 Utilizando o Rainbow Crack para criação de Rainbow Tables . . . 143

12.6.1 Introdução . . . 143

13 Vulnerabilidades em aplicações web 149 13.1 Entendendo a aplicação web . . . 149

13.2 Por que é tão perigoso? . . . 149

13.3 Principais Classes de Vulnerabilidades . . . 150

13.4 A1 – CROSS SITE SCRIPTING (XSS) . . . 152

13.4.1 VULNERABILIDADE . . . 152

13.4.2 EXPLORANDO . . . 153

13.5 A2 – FALHAS DE INJEÇÃO . . . 154

13.5.1 VULNERABILIDADE . . . 154

13.5.2 EXPLORANDO . . . 154

13.6 A3 – EXECUÇÃO MALICIOSA DE ARQUIVO . . . 155

13.6.1 VULNERABILIDADE . . . 156

13.6.2 EXPLORANDO . . . 157

13.6.2.1 Shell PHP . . . 157

13.7 A4 – REFERÊNCIA INSEGURA DIRETA A OBJETO . . . 158

13.7.1 VULNERABILIDADE . . . 159

13.7.2 EXPLORANDO . . . 160

13.8 A5 – CROSS SITE REQUEST FORGERY (CSRF) . . . 160

13.8.1 VULNERABILIDADE . . . 161

13.8.2 EXPLORANDO . . . 161

13.9 A6 – VAZAMENTO DE INFORMAÇÕES E TRATAMENTO DE ERROS INAPROPRIADO . . . 162

13.9.1 VULNERABILIDADE . . . 163

13.9.2 EXPLORANDO . . . 163

13.10A7 – FURO DE AUTENTICAÇÃO E GERÊNCIA DE SESSÃO . . . 164

13.10.1VULNERABILIDADE . . . 164

13.10.2EXPLORANDO . . . 165

13.11A8 – ARMAZENAMENTO CRIPTOGRTAFICO INSEGURO . . . 165

(8)

13.11.2EXPLORANDO . . . 166

13.12A9 – COMUNICAÇÕES INSEGURAS . . . 166

13.12.1VULNERABILIDADE . . . 167

13.12.2EXPLORANDO . . . 168

13.13A10 – FALHA AO RESTRINGIR ACESSO À URLS . . . 168

13.13.1VULNERABILIDADE . . . 168

14 Elevação de Privilégios Locais 170 14.1 O que é escalada de privilégios? . . . 170

14.2 Possíveis alvos . . . 171

14.3 Laboratorio . . . 171

15 Apagando Rastros 172 15.1 Por que encobrir rastros? . . . 172

15.2 O que encobrir? . . . 172

15.3 Técnicas . . . 173

15.4 Ferramentas . . . 174

(9)

Computadores

1.1 Definições Gerais

Uma Rede de Computadores é: um conjunto de dispositivos processadores capa-zes de trocar informações e compartilhar recursos, interligados por um sistema de comunicação. Exemplos de dispositivos: • Celulares • Computadores • Notebooks • Tablets • Televisores • Video Games

• e qualquer outro equipamento com capacidade de interconexão

1.1.1 Classificação segundo a extensão geográfica

1.1.1.1 Rede Local (LAN)

Em computação, rede de área local (ou LAN, acrônimo de local area network),

(10)

equi-pamentos processadores com a finalidade de troca de dados. Um conceito mais preciso seria: é um conjunto de hardware e software que permite a computadores individuais estabelecerem comunicação entre si, trocando e compartilhando infor-mações e recursos. Tais redes são denominadas locais por cobrirem apenas uma área limitada (10 km no máximo, além do que passam a ser denominadas MANs). Redes em áreas maiores necessitam de tecnologias mais sofisticadas, visto que, fisi-camente, quanto maior a distância de um nó da rede ao outro, maior a taxa de erros que ocorrerão devido à degradação do sinal.

As LANs são utilizadas para conectar estações, servidores, periféricos e outros dis-positivos que possuam capacidade de processamento em uma casa, escritório, es-cola e edifícios próximos.

1.1.1.2 Rede de Longa Distância (WAN)

AWide Area Network (WAN), Rede de área alargada ou Rede de longa distância,

também conhecida como Rede geograficamente distribuída, é uma rede de com-putadores que abrange uma grande área geográfica, com frequência um país ou continente.

1.1.1.3 Rede Metropolitana (MAN)

Rede de Área Metropolitana (Metropolitan Area Network), também conhecida

como MAN, é o nome dado às redes que ocupam o perímetro de uma cidade. São mais rápidas e permitem que empresas com filiais em bairros diferentes se conectem entre si.

A partir do momento que a internet atraiu uma audiência de massa, as operadoras de redes de TV a cabo, começaram a perceber que, com algumas mudanças no sistema, elas poderiam oferecer serviços da Internet de mão dupla em partes não utilizadas do espectro. A televisão a cabo não é a única MAN. Os desenvolvimentos mais recentes para acesso à internet de alta velocidade sem fio resultaram em outra MAN, que foi padronizada como IEEE 802.16.

(11)

1.1.2 Conceitos importantes

1.1.2.1 Internet

A Internet é o maior conglomerado de redes de comunicações em escala mundial e dispõe milhões de computadores interligados pelo protocolo de comunicação TCP/IP que permite o acesso a informações e todo tipo de transferência de dados. Ela car-rega uma ampla variedade de recursos e serviços, incluindo os documentos interli-gados por meio de hiperligações da World Wide Web (Rede de Alcance Mundial), e a infraestrutura para suportar correio eletrônico e serviços como comunicação ins-tantânea e compartilhamento de arquivos.

De acordo com a Internet World Stats, 1,96 bilhão de pessoas tinham acesso à In-ternet em junho de 2010, o que representa 28,7% da população mundial. Segundo a pesquisa, a Europa detinha quase 420 milhões de usuários, mais da metade da população. Mais de 60% da população da Oceania tem o acesso à Internet, mas esse percentual é reduzido para 6,8% na África. Na América Latina e Caribe, um pouco mais de 200 milhões de pessoas têm acesso à Internet (de acordo com dados de junho de 2010), sendo que quase 76 milhões são brasileiros.

(12)

1.1.2.2 Intranet

A intranet é uma rede de computadores privada que assenta sobre a suite de pro-tocolos da Internet, porém, de uso exclusivo de um determinado local, como, por exemplo, a rede de uma empresa, que só pode ser acessada por seus usuários internos.

Pelo fato de sua aplicação, todos os conceitos TCP/IP se empregam à intranet, como, por exemplo, o paradigma de cliente-servidor.

Dentro de uma empresa, todos os departamentos possuem alguma informação que pode ser trocada com os demais setores, podendo cada seção ter uma forma direta de se comunicar com as demais, o que se assemelha muito com a conexão LAN, que, porém, não emprega restrições de acesso.

Diferentemente do que ocorre na intranet, na extranet o acesso à internet se dá em qualquer lugar do mundo.

O termo foi utilizado pela primeira vez em 19 de Abril de 1995, num artigo de autoria técnica de Stephen Lawton, na Digital News & Reviews.

1.1.2.3 Extranet

A Extranet de uma empresa é a porção da rede de computadores que faz uso da Internet para partilhar com segurança parte do seu sistema de informação.

Tomado o termo em seu sentido mais amplo, o conceito confunde-se com Intranet. Uma Extranet também pode ser vista como uma parte da empresa que é estendida a usuários externos ("rede extra-empresa"), tais como representantes e clientes. Outro uso comum do termo Extranet ocorre na designação da "parte privada"de um site, onde somente "usuários registrados"podem navegar, previamente autenticados por sua senha (login).

1.1.2.4 VPN (Rede Privada Virtual)

Rede Privada Virtual é uma rede de comunicações privada normalmente utilizada por uma empresa ou um conjunto de empresas e/ou instituições, construída em cima de uma rede de comunicações pública (como por exemplo, a Internet). O tráfego de

(13)

dados é levado pela rede pública utilizando protocolos padrão, não necessariamente seguros.

VPNs seguras usam protocolos de criptografia por tunelamento que fornecem a con-fidencialidade, autenticação e integridade necessárias para garantir a privacidade das comunicações requeridas. Quando adequadamente implementados, estes pro-tocolos podem assegurar comunicações seguras através de redes inseguras.

Deve ser notado que a escolha, implementação e uso destes protocolos não é algo trivial, e várias soluções de VPN inseguras são distribuídas no mercado. Adverte-se os usuários para que investiguem com cuidado os produtos que fornecem VPNs. Por si só, o rótulo VPN é apenas uma ferramenta de marketing.

Os termos: LAN, WAN, MAN, internet, intranet, extranet e VPN deste texto foram extraidos do site http://pt.wikipedia.org

1.2 Modelo de Referência OSI

O modelo OSI (Open Systems Interconnection) foi desenvolvido pela ISO (Internati-onal Standard Organization) com o objetivo de criar uma estrutura para definição de padrões para a conectividade e interoperabilidade de sistemas heterogêneos. Define

(14)

um conjunto de 7 camadas (layers) e os serviços atribuídos a cada uma. O modelo OSI é uma referência e não uma implementação.

1.2.1 Camada 1 – Física

Transmissão transparente de seqüências de bits pelo meio físico.

Contém padrões mecânicos, funcionais, elétricos e procedimentos para acesso a esse meio físico.

Especifica os meios de transmissão (satélite, coaxial, radiotransmissão, par metálico, fibra óptica, etc.).

Tipos de conexão:

• Ponto-a-ponto ou multiponto

• Full ou half duplex

• Serial ou paralela

1.2.2 Camada 2 – Enlace

Esconde características físicas do meio de transmissão.

Transforma os bits em quadros (frames).

Provê meio de transmissão confiável entre dois sistemas adjacentes.

Funções mais comuns:

• Delimitação de quadro

• Detecção de erros

• Seqüencialização dos dados

(15)

Para redes locais é dividido em dois subníveis: LLC (Logical Link Control) e MAC (Media Access Control).

1.2.3 Camada 3 – Rede

Provê canal de comunicação independente do meio.

Transmite pacotes de dados através da rede.

Os pacotes podem ser independentes (datagramas) ou percorrer uma conexão pré-estabelecida (circuito virtual).

Funções características:

• Tradução de endereços lógicos em endereços físicos

• Roteamento

• Não propaga broadcast de rede

• Não possuem garantia de entrega dos pacotes

1.2.4 Camada 4 – Transporte

Nesta camada temos o conceito de comunicação fim-a-fim.

Possui mecanismos que fornecem uma comunicação confiável e transparente entre dois computadores, isto é, assegura que todos os pacotes cheguem corretamente ao destino e na ordem correta.

Funções:

• Controle de fluxo de segmentos

• Correção de erros

(16)

1.2.5 Camada 5 – Sessão

Possui a função de disponibilizar acessos remotos, estabelecendo serviços de se-gurança, verificando a identificação do usuário, sua senha de acesso e suas carac-terísticas (perfis). Atua como uma interface entre os usuários e as aplicações de destino.

Pode fornecer sincronização entre as tarefas dos usuários.

1.2.6 Camada 6 – Apresentação

Responsável pelas transformações adequadas nos dados, antes do seu envio a ca-mada de sessão. Essas transformações podem ser referentes à compressão de textos, criptografia, conversão de padrões de terminais e arquivos para padrões de rede e vice-versa.

Funções:

• Formatação de dados

• Rotinas de compressão

• Compatibilização de aplicações: sintaxe

• Criptografia

1.2.7 Camada 7 - Aplicação

É responsável pela interface com as aplicações dos computadores (hosts). Entre as categorias de processos de aplicação podemos citar:

• Correio eletrônico: X400

• Transferência de arquivos: FTAM

• Serviço de diretório: X500

(17)

• Terminal virtual: VT

• Acesso à banco de dados: RDA

• Gerência de rede

1.3 Arquitetura TCP/IP

A arquitetura TCP/IP é composta por 4 camadas (formando a pilha da estrutura do protocolo) compare o as camadas TCP/IP com o Modelo OSI:

1.3.1 Camada Fisica e de Enlace

Esta camada também é conhecida como camada de Acesso à Rede.

A função da camada Acesso à Rede é prover uma interface entre a camada Rede e os elementos físicos da rede.

(18)

A camada inferior da arquitetura TCP/IP tem as funcionalidades referentes às cama-das 1 e 2 do Modelo OSI.

1.3.2 Camada de Rede

A camada Rede, também conhecida como de Internet ou Internetwork, é equivalente a camada 3, de Rede, do Modelo OSI. camada.

A função da camada Internet é prover a conectividade lógica realizando a comutação de pacotes, ou roteamento, de forma a encontrar o melhor caminho para a transmitir pacotes, datagramas, através da rede.

Os protocolos principais desta camada são:

• IP (Internet Protocol)

• ICMP (Internet Control Message Protocol) (popular ping)

• ARP (Address Resolution Protocol)

• RARP (Reverse Address Resolution Protocol)

1.3.3 Camada de Transporte

A principal função da camada de transporte é prover uma comunicação fim-a-fim entre as aplicações de origem e destino, de forma transparente para as camadas adjacentes.

O nome dado à PDU (Protocol Data Unit) desta camada é segmento.

Ela é equivalente à camada 4 do Modelo OSI. Seus dois principais protocolos são o TCP e o UDP.

O TCP (Transmission Control Protocol) é um protocolo orientado a conexão. Fornece um serviço confiável, com garantia de entrega dos dados.

Suas principais funções são:

(19)

• Confiabilidade da integridade dos dados

• Multiplexação

• Seqüenciamento

• Controle de fluxo

• Janelamento

O UDP (User Datagram Protocol) é um protocolo não orientado a conexão. Fornece um serviço, não confiável, sem garantia de entrega dos dados. Um datagrama pode se perder, sofrer atrasos, ser duplicado ou ser entregue fora de seqüência. Não executa nenhum mecanismo de controle e nem envia mensagens de erro.

1.3.4 Camada de Aplicação

A camada de Aplicação tem a função de prover uma interface entre os programas de usuários (aplicativos) e as redes de comunicação de dados

A camada de Aplicação é equivalente às camadas 5, 6 e 7 do Modelo OSI. Os pro-tocolos mais conhecidos são:

• HTTP – HyperText Transfer Protocol - protocolo responsável pela comunicação via páginas WWW (World Wide Web) ou, simplesmente, Web. Por um programa navegador (browser), usando o protocolo HTTP, um usuário pode acessar in-formações contidas em um servidor Web.

• FTP – File Transfer Protocol – protocolo responsável pela transferência de ar-quivos entre computadores.

• Telnet – Terminal de acesso remoto – protocolo que permite o acesso a um equipamento distante. Permite que possamos dar comando e rodar aplicações remotamente.

• DNS – Domain Name System – aplicação responsável pela tradução de ende-reços IP em nomes e vice-versa.

• SMTP – Simple Mail Transfer Protocol – protocolo responsável pelo armazena-mento e envio de e-mails (Eletronic Mail - Correio Eletrônico).

(20)

1.4 Endereçamento IPv4

No IPV4, os endereço IP são compostos por 4 blocos de 8 bits (32 bits no total), que são representados através de números de 0 a 255, como "200.156.23.43"ou "64.245.32.11".

Conforme a RFC 1918 as faixas de endereços começadas com"10", com "192.168"

ou com de"172.16" até "172.31" são reservadas para uso em redes locais e por isso

não são usados na internet. Os roteadores que compõe a grande rede são configura-dos para ignorar estes pacotes, de forma que as inúmeras redes locais que utilizam endereços na faixa "192.168.0.x"(por exemplo) podem conviver pacificamente.

Para saber mais sobre este assundo consulte http://tools.ietf.org/html/rfc1918

Embora aparentem ser uma coisa só, os endereços IP incluem duas informações. O endereço da rede e o endereço do host dentro dela. Em uma rede domés-tica, por exemplo, você poderia utilizar os endereços "192.168.1.1", "192.168.1.2"e "192.168.1.3", onde o "192.168.1."é o endereço da rede (e por isso não muda) e o último número (1, 2 e 3) identifica os três micros que fazem parte dela.

Os micros da rede local podem acessar a internet através de um roteador, que pode ser tanto um servidor com duas placas de rede, quando um modem ADSL ou outro dispositivo que ofereça a opção de compartilhar a conexão. Neste caso, o roteador passa a ser o gateway da rede e utiliza seu endereço IP válido para encaminhar as requisições feitas pelos micros da rede interna. Este recurso é chamado de NAT (Network Address Translation).

Endereços de 32 bits permitem cerca de 4 bilhões de endereços diferentes. Os endereços são divididos em:

O grande problema é que os endereços são sempre divididos em duas partes, rede e host. Nos endereços de classe A, o primeiro octeto se refere à rede e os três

(21)

octe-tos seguintes referem-se ao host. Temos apenas 126 faixas de endereços classe A disponíveis no mundo, dadas a governos, instituições e até mesmo algumas empre-sas privadas, como por exemplo a IBM. As faixas de endereços classe A consomem cerca de metade dos endereços IP disponíveis, representando um gigantesco des-perdício, já que nenhuma das faixas é completamente utilizada. Será que a IBM utiliza todos os 16 milhões de endereços IP a que tem direito? Certamente não.

Mesmo nos endereços classe B (dois octetos para a rede, dois para o host, garan-tindo 65536 endereços) e nos classe C (três octetos para a rede e um para o host, ou seja, apenas 256 endereços) o desperdício é muito grande. Muitas empresas alugam faixas de endereços classe C para utilizar apenas dois ou três endereços por exemplo.

Para piorar, parte dos endereços estão reservados para as classes D e E, que jamais foram implementadas. Isto faz com que já haja uma grande falta de endereços, principalmente os de classe A e B, que já estão todos ocupados.

Para saber mais sobre a alocação dos endereços IPV4 visite http://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.xml

1.4.1 Máscara de rede

A máscara de rede, juntamente com o endereço IP, define a rede o computador per-tence, isto é, que outros endereços IP que o computador pode comunicar diretamente na mesma LAN.

A fim de compreender a máscara lembre-se sempre que os 4 bytes que define tanto o endereço IP e a máscara de rede poderiam ser representados em formato binário.

A máscara de rede é, por definição, uma seqüência de "1"a partir da esquerda para a direita, seguido por um certo número de "0"(a faixa de rede). Devido a esta regra a máscara de rede é muitas vezes representada com valores decimais, que soam como um ou mais "255", seguido por um ou mais "0".

Utilizando máscaras de sub-rede padrão para cada classe de endereços, onde são utilizados oito, dezesseis ou vinte e quatro bits para a máscara de rede, conforme descrito a seguir:

(22)

Foi definida na RFC 1519 uma notação conhecida como CIDR (Classless Inter-Domain Routing), onde a máscara de sub-rede é indicada simplesmente pelo número de bits utilizados na máscara de sub-rede, conforme exemplos a seguir:

Porém com este esquema de endereçamento, baseado apenas nas máscaras de rede padrão para cada classe (oito, dezesseis ou vinte e quatro bits), haveria um grande desperdício de números IP. Por exemplo, que empresa no mundo precisa-ria da faixa completa de uma rede classe A, na qual estão disponíveis mais de 16 milhões de endereços IP?

Analise o outro extremo desta questão. Imagine, por exemplo, uma empresa de porte médio, que tem a matriz em São Paulo e mais cinco filiais em outras cidades do Brasil. Agora imagine que em nenhuma das localidades, a rede tem mais do que 30 computadores. Se for usado as máscaras de sub-rede padrão, teria que ser definida uma rede Classe C (até 254 computadores), para cada localidade. Observe que estamos reservando 254 números IP para cada localidade (uma rede classe C com máscara 255.255.255.0), quando na verdade, no máximo, 30 números serão utilizados em cada localidade. Na prática, um belo desperdício de endereços IP, mesmo em um empresa de porte médio ou pequeno.

Observe que neste exemplo, uma única rede Classe C seria suficiente. Já que são seis localidades (a matriz mais seis filiais), com um máximo de 30 endereços por localidade, um total de 254 endereços de uma rede Classe C seria mais do que suficiente. Ainda haveria desperdício, mas agora bem menor.

A boa notícia é que é possível “dividir” uma rede (qualquer rede) em sub-redes, onde cada sub-rede fica apenas com uma faixa de números IP de toda a faixa original.

(23)

Por exemplo, a rede Classe C 200.100.100.0/255.255.255.0, com 256 números IPs disponíveis (na prática são 254 números que podem ser utilizados, descontando o primeiro que é o número da própria rede e o último que o endereço de broadcast, poderia ser dividida em 8 sub-redes, com 32 números IP em cada sub-rede. O esquema a seguir ilustra este conceito:

Rede original: 256 endereços IP disponíveis: 200.100.100.0 -> 200.100.100.255 Di-visão da rede em 8 sub-redes, onde cada sub-rede fica com 32 endereços IP:

Sub-rede 01: 200.100.100.0 -> 200.100.100.31 Sub-rede 02: 200.100.100.32 -> 200.100.100.63 Sub-rede 03: 200.100.100.64 -> 200.100.100.95 Sub-rede 04: 200.100.100.96 -> 200.100.100.127 Sub-rede 05: 200.100.100.128 -> 200.100.100.159 Sub-rede 06: 200.100.100.160 -> 200.100.100.191 Sub-rede 07: 200.100.100.192 -> 200.100.100.223 Sub-rede 08: 200.100.100.224 -> 200.100.100.255

Para o exemplo da empresa com seis localidades (matriz mais cinco filiais), onde, no máximo, são necessários trinta endereços IP por localidade, a utilização de uma única rede classe C, dividida em 8 sub-redes seria a solução ideal. Na prática a primeira e a última rede são descartadas, pois o primeiro IP da primeira sub-rede representa o endereço de sub-rede e o último IP da última sub-sub-rede representa o endereço de broadcast. Com isso restariam, ainda, seis sub-redes. Exatamente a quantia necessária para o exemplo proposto. Observe que ao invés de seis redes classe C, bastou uma única rede Classe C, subdividida em seis sub-redes. Uma bela economia de endereços. Claro que se um dos escritórios, ou a matriz, precisasse de mais de 32 endereços IP, um esquema diferente de divisão teria que ser criado.

Em 1990, já existiam 313.000 hosts conectados a rede e estudos já apontavam para um colapso devido a falta de endereços. Além disso outros problemas também tornavam-se mais efetivos conforme a Internet evoluía, como o aumento da tabela de roteamento.

Devido ao ritmo de crescimento da Internet e da política de distribuição de endereços, em maio de 1992, 38% das faixas de endereços classe A, 43% da classe B e 2% da

(24)

classe C, já estavam alocados. Nesta época, a rede já possuía 1.136.000 hosts conectados.

Em 1993, com a criação do protocolo HTTP e a liberação por parte do Governo dos Estados Unidos para a utilização comercial da Internet, houve um salto ainda maior na taxa de crescimento da rede, que passou de 2.056.000 de hosts em 1993 para mais de 26.000.000 de hosts em 1997.

Diante desse cenário, a IETF (Internet Engineering Task Force) passa a discutir es-tratégias para solucionar a questão do esgotamento dos endereços IP e do aumento da tabela de roteamento. Em função disso, em novembro de 1991, é formado o grupo de trabalho ROAD (ROuting and Addressing), que apresenta como solução a estes problemas, a utilização do CIDR (Classless Inter-domain Routing).

Definido na RFC 4632 (tornou obsoleta a RFC 1519), o CIDR tem como idéia básica o fim do uso de classes de endereços, permitindo a alocação de blocos de tamanho apropriado a real necessidade de cada rede; e a agregação de rotas, reduzindo o tamanho da tabela de roteamento. Com o CIDR os blocos são referenciados como prefixo de redes. Por exemplo, no endereço a.b.c.d/x, os x bits mais significativos indicam o prefixo da rede. Outra forma de indicar o prefixo é através de máscaras, onde a máscara 255.0.0.0 indica um prefixo /8, 255.255.0.0 indica um /16, e assim sucessivamente.

Outra solução, apresentada na RFC 2131 (tornou obsoleta a RFC 1541), foi o pro-tocolo DHCP (Dynamic Host Configuration Protocol). Através do DHCP um host é capaz de obter um endereço IP automaticamente e adquirir informações adicionais como máscara de sub-rede, endereço do roteador padrão e o endereço do servidor DNS local.

O DHCP tem sido muito utilizado por parte dos ISPs por permitir a atribuição de endereços IP temporários a seus clientes conectados. Desta forma, torna-se des-necessário obter um endereço para cada cliente, devendo-se apenas designar en-dereços dinamicamente, através de seu servidor DHCP. Este servidor terá uma lista de endereços IP disponíveis, e toda vez que um novo cliente se conectar à rede, lhe será designado um desses endereço de forma arbitrária, e no momento que o cliente se desconecta, o endereço é devolvido.

A NAT (Network Address Translation), foi outra técnica paliativa desenvolvida para resolver o problema do esgotamento dos endereços IPv4. Definida na RFC 3022 (tornou obsoleta a RFC 1631), tem como ideia básica permitir que, com um único endereço IP, ou um pequeno número deles, vários hosts possam trafegar na Internet. Dentro de uma rede, cada computador recebe um endereço IP privado único, que é utilizado para o roteamento do tráfego interno. No entanto, quando um pacote precisa ser roteado para fora da rede, uma tradução de endereço é realizada, convertendo

(25)

endereços IP privados em endereços IP públicos globalmente únicos.

Para tornar possível este esquema, utiliza-se os três intervalos de endereços IP de-clarados como privados na RFC 1918, sendo que a única regra de utilização, é que nenhum pacote contendo estes endereços pode trafegar na Internet pública. As três faixas reservadas são:

• 10.0.0.0 a 10.255.255.255 /8 (16.777.216 hosts)

• 172.16.0.0 a 172.31.255.255 /12 (1.048.576 hosts)

• 192.168.0.0 a 192.168.255.255 /16 (65.536 hosts)

A utilização da NAT mostrou-se eficiente no que diz respeito a economia de en-dereços IP, além de apresentar alguns outros aspectos positivos, como facilitar a numeração interna das redes, ocultar a topologia das redes e só permitir a entrada de pacotes gerados em resposta a um pedido da rede. No entanto, o uso da NAT apresenta inconvenientes que não compensam as vantagens oferecidas.

A NAT quebra o modelo fim-a-fim da Internet, não permitindo conexões diretas en-tre dois hosts, o que dificulta o funcionamento de uma série de aplicações, como P2P, VoIP e VPNs. Outro problema é a baixa escalabilidade, pois o número de co-nexões simultâneas é limitado, além de exigir um grande poder de processamento do dispositivo tradutor. O uso da NAT também impossibilita rastrear o caminho de pacote, através de ferramentas como traceroute, por exemplo, e dificulta a utilização de algumas técnicas de segurança como IPSec. Além disso, seu uso passa uma falsa sensação de segurança, pois, apesar de não permitir a entrada de pacotes não autorizados, a NAT não realiza nenhum tipo de filtragem ou verificação nos pacotes que passa por ela.

A imagem abaixo mostra o quanto essas medidas ajudaram a diminuir o aumento da alocação de endereço:

Embora estas soluções tenham diminuído a demanda por IPs, elas não foram sufici-entes para resolver os problemas decorrsufici-entes do crescimento da Internet. A adoção

(26)

dessas técnicas reduziu em apenas 14

Essas medidas, na verdade, serviram para que houvesse mais tempo para se de-senvolver uma nova versão do IP, que fosse baseada nos princípios que fizeram o sucesso do IPv4, porém, que fosse capaz de suprir as falhas apresentadas por ele.

Deste modo, em dezembro de 1993 a IETF formalizou, através da RFC 1550, as pesquisas a respeito da nova versão do protocolo IP, solicitando o envio de projetos e propostas para o novo protocolo. Esta foi umas das primeiras ações do grupo de trabalho da IETF denominado Internet Protocol next generation (IPng). As principais questões que deveriam ser abordadas na elaboração da próxima versão do protocolo IP foram:

• Escalabilidade;

• Segurança;

• Configuração e administração de rede;

• Suporte a QoS;

• Mobilidade;

• Políticas de roteamento;

• Transição.

Diversos projetos começaram a estudar os efeitos do crescimento da Internet, sendo os principais o CNAT, o IP Encaps, o Nimrod e o Simple CLNP. Destas propostas surgiram o TCP and UDP with Bigger Addresses (TUBA), que foi uma evolução do Simple CLNP, e o IP Address Encapsulation (IPAE), uma evolução do IP Encaps. Alguns meses depois foram apresentados os projetos Paul’s Internet Protocol (PIP), o Simple Internet Protocol (SIP) e o TP/IX. Uma nova versão do SIP, que englobava algumas funcionalidades do IPAE, foi apresentada pouco antes de agregar-se ao PIP, resultando no Simple Internet Protocol Plus (SIPP). No mesmo período, o TP/IX mudou seu nome para Common Architecture for the Internet (CATNIP).

Em janeiro de 1995, na RFC 1752 o IPng apresentou um resumo das avaliações das três principais propostas:

• CANTIP – foi concebido como um protocolo de convergência, para permitir a qualquer protocolo da camada de transporte ser executado sobre qualquer pro-tocolo de camada de rede, criando um ambiente comum entre os propro-tocolos da

(27)

Internet, OSI e Novell;

• TUBA – sua proposta era de aumentar o espaço para endereçamento do IPv4 e torná-lo mais hierárquico, buscando evitar a necessidade de se alterar os protocolos da camada de transporte e aplicação. Pretendia uma migração sim-ples e em longo prazo, baseada na atualização dos host e servidores DNS, entretanto, sem a necessidade de encapsulamento ou tradução de pacotes, ou mapeamento de endereços;

• SIPP – concebido para ser uma etapa evolutiva do IPv4, sem mudanças radi-cais e mantendo a interoperabilidade com a versão 4 do protocolo IP, fornecia uma plataforma para novas funcionalidades da Internet, aumentava o espaço para endereçamento de 32 bits para 64 bits, apresentava um nível maior de hi-erarquia e era composto por um mecanismo que permitia “alargar o endereço” chamado cluster addresses. Já possuía cabeçalhos de extensão e um campo flow para identificar o tipo de fluxo de cada pacote.

Entretanto, conforme relatado também na RFC 1752, todas as três propostas apre-sentavam problemas significativos. Deste modo, a recomendação final para o novo Protocolo Internet baseou-se em uma versão revisada do SIPP, que passou a incor-porar endereços de 128 bits, juntamente com os elementos de transição e autoconfi-guração do TUBA, o endereçamento baseado no CIDR e os cabeçalhos de extensão. O CATNIP, por ser considerado muito incompleto, foi descartado.

Após esta definição, a nova versão do Protocolo Internet passou a ser chamado oficialmente deIPv6.

1.5 IPv6

As especificações da IPv6 foram apresentadas inicialmente na RFC 1883 de dezem-bro de 1995, no entanto, em em dezemdezem-bro de 1998, está RFC foi substituída pela RFC 2460. Como principais mudanças em relação ao IPv4 destacam-se:

Maior capacidade para endereçamento: no IPv6 o espaço para

endereça-mento auendereça-mentou de 32 bits para 128 bits, permitindo: níveis mais específicos de agregação de endereços; identificar uma quantidade muito maior de dis-positivos na rede; e implementar mecanismos de autoconfiguração. A escala-bilidade do roteamento multicast também foi melhorada através da adição do campo "escopo"no endereço multicast. E um novo tipo de endereço, o anycast, foi definido;

(28)

Simplificação do formato do cabeçalho: alguns campos do cabeçalho IPv4

foram removidos ou tornaram-se opcionais, com o intuito de reduzir o custo do processamento dos pacotes nos roteadores;

Suporte a cabeçalhos de extensão: as opções não fazem mais parte do

ca-beçalho base, permitindo um roteamento mais eficaz, limites menos rigorosos em relação ao tamanho e a quantidade de opções, e uma maior flexibilidade para a introdução de novas opções no futuro;

Capacidade de identificar fluxos de dados: foi adicionado um novo recurso

que permite identificar de pacotes que pertençam a determinados tráfegos de fluxos, para os quais podem ser requeridos tratamentos especiais;

Suporte a autenticação e privacidade: foram especificados cabeçalhos de

extensão capazes de fornecer mecanismos de autenticação e garantir a inte-gridade e a confidencialidade dos dados transmitidos.

1.5.1 Endereçamento

O protocolo IPv6 apresenta como principal característica e justificativa maior para o seu desenvolvimento, o aumento no espaço para endereçamento. Por isso, é impor-tante conhecermos as diferenças entre os endereços IPv4 e IPv6, saber reconhecer a sintaxe dos endereços IPv6 e conhecer os tipos de endereços IPv6 existentes e suas principais características.

No IPv4, o campo do cabeçalho reservado para o endereçamento possui 32 bits. Este tamanho possibilita um máximo de 4.294.967.296 (232) endereços distintos. A época de seu desenvolvimento, está quantidade era considerada suficiente para identificar todos os computadores na rede e suportar o surgimento de novas sub-redes. No entanto, com o rápido crescimento da Internet, surgiu o problema da escassez dos endereços IPv4, motivando a a criação de uma nova geração do pro-tocolo IP.

O IPv6 possui um espaço para endereçamento de 128 bits, sendo possível obter 340.282.366.920.938.463.463.374.607.431.768.211.456 endereços (2128). Este va-lor representa aproximadamente 79 octilhões (7,9×1028) de vezes a quantidade de endereços IPv4 e representa, também, mais de 56 octilhões (5,6×1028) de endere-ços por ser humano na Terra, considerando-se a população estimada em 6 bilhões de habitantes.

(29)

• Representação dos endereços

• Tipos de endereços IPv6

• Endereços Unicast

Identificadores de interface

Endereços Multicast

1.5.1.1 Representação dos endereços

Os 32 bits dos endereços IPv4 são divididos em quatro grupos de 8 bits cada, separa-dos por “.”, escritos com dígitos decimais. Por exemplo: 192.168.0.10. A representa-ção dos endereços IPv6, divide o endereço em oito grupos de 16 bits, separando-os por “:”, escritos com dígitos hexadecimais (0-F). Por exemplo:

• 2001:0DB8:AD1F:25E2:CADE:CAFE:F0CA:84C1

Na representação de um endereço IPv6, é permitido utilizar tanto caracteres maiús-culos quanto minúsmaiús-culos.

Além disso, regras de abreviação podem ser aplicadas para facilitar a escrita de alguns endereços muito extensos. É permitido omitir os zeros a esquerda de cada bloco de 16 bits, além de substituir uma sequência longa de zeros por “::”.

Por exemplo, o endereço 2001:0DB8:0000:0000:130F:0000:0000:140B pode ser

escrito como2001:DB8:0:0:130F::140B ou 2001:DB8::130F:0:0:140B. Neste

exem-plo é possível observar que a abreviação do grupo de zeros só pode ser reali-zada uma única vez, caso contrário poderá haver ambigüidades na representação do endereço. Se o endereço acima fosse escrito como 2001:DB8::130F::140B,

não seria possível determinar se ele corresponde a2001:DB8:0:0:130F:0:0:140B, a 2001:DB8:0:0:0:130F:0:140B ou 2001:DB8:0:130F:0:0:0:140B.

Esta abreviação pode ser feita também no fim ou no início do endereço, como ocorre em2001:DB8:0:54:0:0:0:0 que pode ser escrito da forma 2001:DB8:0:54::.

Outra representação importante é a dos prefixos de rede. Em endereços IPv6 ela continua sendo escrita do mesmo modo que no IPv4, utilizando a notação CIDR. Esta notação é representada da forma “endereço-IPv6/tamanho do prefixo”, onde “tamanho do prefixo” é um valor decimal que especifica a quantidade de bits contí-guos à esquerda do endereço que compreendem o prefixo. O exemplo de prefixo

(30)

de sub-rede apresentado a seguir indica que dos 128 bits do endereço, 64 bits são utilizados para identificar a sub-rede.

• Prefixo 2001:db8:3003:2::/64

• Prefixo global 2001:db8::/32

• ID da sub-rede 3003:2

Esta representação também possibilita a agregação dos endereços de forma hierár-quica, identificando a topologia da rede através de parâmetros como posição geográ-fica, provedor de acesso, identificação da rede, divisão da sub-rede, etc. Com isso, é possível diminuir o tamanho da tabela de roteamento e agilizar o encaminhamento dos pacotes.

Com relação a representação dos endereços IPv6 em URLs (Uniform Resource Lo-cators), estes agora passam a ser representados entre colchetes. Deste modo, não haverá ambiguidades caso seja necessário indicar o número de uma porta junta-mente com a URL. Observe os exemplos a seguir:

• http://[2001:12ff:0:4::22]/index.html

• http://[2001:12ff:0:4::22]:8080

1.5.1.2 Tipos de endereços IPv6

Existem no IPv6 três tipos de endereços definidos:

Unicast – este tipo de endereço identifica uma única interface, de modo que

um pacote enviado a um endereço unicast é entregue a uma única interface;

Anycast – identifica um conjunto de interfaces. Um pacote encaminhado a

um endereço anycast é entregue a interface pertencente a este conjunto mais próxima da origem (de acordo com distância medida pelos protocolos de rote-amento). Um endereço anycast é utilizado em comunicações de um-para-um-de-muitos.

Multicast – também identifica um conjunto de interfaces, entretanto, um pacote

enviado a um endereço multicast é entregue a todas as interfaces associadas a esse endereço. Um endereço multicast é utilizado em comunicações de um-para-muitos.

(31)

Diferente do IPv4, no IPv6 não existe endereço broadcast, responsável por direcionar um pacote para todos os nós de um mesmo domínio. No IPv6, essa função foi atribuída à tipos específicos de endereços multicast.

1.5.1.2.1 Endereços Unicast - Os endereços unicast são utilizados para comuni-cação entre dois nós, por exemplo, telefones VoIPv6, computadores em uma rede privada, etc., e sua estrutura foi definida para permitir agregações com prefixos de tamanho flexível, similar ao CIDR do IPv4.

Existem alguns tipos de endereços unicast IPv6: Global Unicast; Unique-Local; e Link-Local por exemplo. Existem também alguns tipos para usos especiais, como en-dereços IPv4 mapeados em IPv6, endereço de loopback e o endereço não-especificado, entre outros.

• Global Unicast – equivalente aos endereços públicos IPv4, o endereço global unicast é globalmente roteável e acessível na Internet IPv6. Ele é constituído por três partes: o prefixo de roteamento global, utilizado para identificar o tama-nho do bloco atribuído a uma rede; a identificação da sub-rede, utilizada para identificar um enlace em uma rede; e a identificação da interface, que deve identificar de forma única uma interface dentro de um enlace.Sua estrutura foi projetada para utilizar os 64 bits mais a esquerda para identificação da rede e os 64 bits mais a direita para identificação da interface. Portanto, exceto casos es-pecíficos, todas as sub-redes em IPv6 tem o mesmo tamanho de prefixo, 64 bits (/64), o que possibilita 264 = 18.446.744.073.709.551.616 dispositivos por sub-rede. Atualmente, está reservada para atribuição de endereços a faixa 2000::/3 (001), que corresponde aos endereços de 2000:: a 3fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff. Isto representa 13% do total de endereços possíveis com IPv6, o que nos per-mite criar 2.305.843.009.213.693.952 (2,3×1018) sub-redes (/64) diferentes ou 35.184.372.088.832 (3,5×1013) redes /48.

• Link Local – podendo ser usado apenas no enlace específico onde a interface está conectada, o endereço link local é atribuído automaticamente utilizando o prefixo FE80::/64. Os 64 bits reservados para a identificação da interface são configurados utilizando o formato IEEE EUI- 64. Vale ressaltar que os roteadores não devem encaminhar para outros enlaces, pacotes que possuam como origem ou destino um endereço link-local

• Unique Local Address (ULA) – endereço com grande probabilidade de ser glo-balmente único, utilizado apenas para comunicações locais, geralmente dentro de um mesmo enlace ou conjunto de enlaces. Um endereço ULA não deve ser roteável na Internet global.Um endereço ULA, criado utilizado um ID globa alocado pseudo-randomicamente, é composto das seguintes partes:

(32)

Prefixo: FC00::/7.

Flag Local (L): se o valor for 1 (FD) o prefixo é atribuído localmente. Se o valor for 0 (FC), o prefixo deve ser atribuído por uma organização central (ainda a definir).

Identificador global: identificador de 40 bits usado para criar um prefixo globalmente único.

Identificador da Interface: identificador da interface de 64 bits.

Deste modo, a estrutura de um endereço ULA é FDUU:UUUU:UUUU:: onde U são

os bits do identificador único, gerado aleatoriamente por um algoritmo específico.

Sua utilização permite que qualquer enlace possua um prefixo /48 privado e único globalmente. Deste modo, caso duas redes, de empresas distintas por exemplo, sejam interconectadas, provavelmente não haverá conflito de endereços ou neces-sidade de renumerar a interface que o esteja usando. Além disso, o endereço ULA é independente de provedor, podendo ser utilizado na comunicação dentro do en-lace mesmo que não haja uma conexão com a Internet. Outra vantagem, é que seu prefixo pode ser facilmente bloqueado, e caso um endereço ULA seja anunciado aci-dentalmente para fora do enlace, através de um roteador ou via DNS, não haverá conflito com outros endereços.

1.5.1.2.1.1 Identificadores de interface Os identificadores de interface (IID), utili-zados para distinguir as interfaces dentro de um enlace, devem ser únicos dentro do mesmo prefixo de sub-rede. O mesmo IID pode ser usado em múltiplas interfaces em um único nó, porém, elas dever estar associadas a deferentes sub-redes.

Normalmente utiliza-se um IID de 64 bits, que pode ser obtido de diversas formas. Ele pode ser configurado manualmente, a partir do mecanismo de autoconfiguração stateless do IPv6, a partir de servidores DHCPv6 (stateful), ou formados a partir de uma chave pública (CGA). Estes métodos serão detalhados no decorrer deste curso.

Embora eles possam ser gerados randomicamente e de forma temporária, recomenda-se que o IID recomenda-seja construído barecomenda-seado no endereço MAC da interface, no formato EUI-64.

Um IID baseado no formato EUI-64 é criado da seguinte forma:

(33)

complementar o sétimo bit mais a esquerda (chamado de bit U/L – Universal/-Local) do endereço MAC, isto é, se for 1, será alterado para 0; se for 0, será alterado para 1. Caso a interface utilize um endereço MAC de 48 bits (padrão IEEE 802), primeiro adiciona-se os dígitos hexadecimais FF-FE entre o terceiro e quarto Byte do endereço MAC (transformando no padrão EUI-64), e em se-guida, o bit U/L é complementado. Por exemplo:

• Se endereço MAC da interface for:

48-1E-C9-21-85-0C

• adiciona-se os dígitos FF-FE na metade do endereço:

48-1E-C9-FF-FE-21-85-0C

• complementa-se o bit U/L:

48 = 01001000

01001000 → 01001010

01001010 = 4A

• IID = 4A-1E-C9-FF-FE-21-85-0C

Um endereço link local atribuído à essa interface seriaFE80::4A1E:C9FF:FE21:850C.

1.5.1.2.1.2 Endereços especiais Existem alguns endereços IPv6 especiais utili-zados para fins específicos:

Endereço Não-Especificado (Unspecified): é representado pelo endereço 0:0:0:0:0:0:0:0 ou ::0 (equivalente ao endereço IPv4 unspecified 0.0.0.0). Ele

nunca deve ser atribuído a nenhum nó, indicando apenas a ausência de um en-dereço. Ele pode, por exemplo, ser utilizado no campo Endereço de Origem de um pacote IPv6 enviado por um host durante o processo de inicialização, antes que este tenha seu endereço exclusivo determinado. O endereço unspecified não deve ser utilizado como endereço de destino de pacotes IPv6;

Endereço Loopback: representado pelo endereço unicast 0:0:0:0:0:0:0:1 ou ::1 (equivalente ao endereço IPv4 loopback 127.0.0.1). Este endereço é

utili-zado para referenciar a própria máquina, sendo muito utiliutili-zado para teste inter-nos. Este tipo de endereço não deve ser atribuído a nenhuma interface física,

(34)

nem usado como endereço de origem em pacotes IPv6 enviados para outros nós. Além disso, um pacote IPv6 com um endereço loopback como destino não pode ser enviado por um roteador IPv6, e caso um pacote recebido em uma in-terface possua um endereço loopback como destino, este deve ser descartado;

Endereços IPv4-mapeado: representado por 0:0:0:0:0:FFFF:wxyz ou ::FFFF:wxyz,

é usado para mapear um endereço IPv4 em um endereço IPv6 de 128-bit, onde wxyz representa os 32 bits do endereço IPv4, utilizando dígitos decimais. É aplicado em técnicas de transição para que nós IPv6 e IPv4 se comuniquem. Ex. ::FFFF:192.168.100.1.

Algumas faixas de endereços também são reservadas para uso específicos:

2002::/16: prefixo utilizado no mecanismo de transição 6to4;

2001:0000::/32: prefixo utilizado no mecanismo de transição TEREDO;

2001:db8::/32: prefixo utilizado para representar endereços IPv6 em textos e

documentações.

Outros endereços, utilizados no início do desenvolvimento do IPv6 tornaram-se ob-soletos e não devem mais ser utilizados:

FEC0::/10: prefixo utilizado pelos endereços do tipo site local, desenvolvidos

para serem utilizados dentro de uma rede específica sem a necessidade de um prefixo global, equivalente aos endereços privados do IPv4. Sua utilização foi substituída pelos endereços ULA;

::wxyz: utilizado para representar o endereço IPv4-compatível. Sua função é a

mesma do endereço IPv4-mapeado, tornando-se obsoleto por desuso;

3FFE::/16: prefixo utilizado para representar os endereços da rede de teste

6Bone. Criada para ajudar na implantação do IPv6, está rede foi desativada em 6 de junho de 2006 (06/06/06).

1.5.1.2.2 Endereços Anycast Um endereço IPv6 anycast é utilizado para identifi-car um grupo de interfaces, porém, com a propriedade de que um pacote enviado a um endereço anycast é encaminhado apenas a interface do grupo mais próxima da origem do pacote.

Os endereços anycast são atribuídos a partir da faixa de endereços unicast e não há diferenças sintáticas entre eles. Portanto, um endereço unicast atribuído a mais

(35)

de uma interface transforma-se em um endereço anycast, devendo-se neste caso, configurar explicitamente os nós para que saibam que lhes foi atribuído um endereço anycast. Além disso, este endereço deve ser configurado nos roteadores como uma entrada separada (prefixo /128 – host route).

Este esquema de endereçamento pode ser utilizado para descobrir serviços na rede, como servidores DNS e proxies HTTP, garantindo a redundância desses serviços. Também pode-se utilizar para fazer balanceamento de carga em situações onde múltiplos hosts ou roteadores provem o mesmo serviço, para localizar roteadores que forneçam acesso a uma determinada sub-rede ou para localizar os Agentes de Origem em redes com suporte a mobilidade IPv6.

Todos os roteadores devem ter suporte ao endereço anycast Subnet-Router. Este tipo de endereço é formado pelo prefixo da sub-rede e pelo IID preenchido com zeros (ex.: 2001:db8:cafe:dad0::/64).

Um pacote enviado para o endereço Subnet-Router será entregue para o roteador mais próximo da origem dentro da mesma sub-rede.

Também foi definido um endereço anycast para ser utilizado no suporte a mobili-dade IPv6. Este tipo de endereço é formado pelo prefixo da sub-rede seguido pelo IID dfff:ffff:ffff:fffe (ex.: 2001:db8::dfff:ffff:ffff:fffe). Ele é utilizado pelo Nó Móvel,

quando este precisar localizar um Agente Origem em sua Rede Original.

1.5.1.2.3 Endereços Multicast Endereços multicast são utilizados para identificar grupos de interfaces, sendo que cada interface pode pertencer a mais de um grupo. Os pacotes enviados para esses endereço são entregues a todos as interfaces que compõe o grupo.

No IPv4, o suporte a multicast é opcional, já que foi introduzido apenas como uma extensão ao protocolo. Entretanto, no IPv6 é requerido que todos os nós suportem multicast, visto que muitas funcionalidades da nova versão do protocolo IP utilizam esse tipo de endereço. Seu funcionamento é similar ao do broadcast, dado que um único pacote é enviado a vários hosts, diferenciando-se apenas pelo fato de que no broadcast o pacote é enviado a todos os hosts da rede, sem exceção, enquanto que no multicast apenas um grupo de hosts receberá esse pacote. Deste modo, a possibilidade de transportar apenas uma cópia dos dados a todos os elementos do grupo, a partir de uma árvore de distribuição, pode reduzir a utilização de recurso de uma rede, bem como otimizar a entrega de dados aos hosts receptores. Apli-cações como videoconferência, distribuição de vídeo sob demanda, atualizações de softwares e jogos on-line, são exemplos de serviços que vêm ganhando notoriedade e podem utilizar as vantagens apresentadas pelo multicast. Os endereços multicast

(36)

não devem ser utilizados como endereço de origem de um pacote. Esses endereços derivam do bloco FF00::/8, onde o prefixo FF, que identifica um endereço multicast, é precedido por quatro bits, que representam quatro flags, e um valor de quatro bits que define o escopo do grupo multicast. Os 112 bits restantes são utilizados para identificar o grupo multicast.

As flags são definidas da seguinte forma:

O primeiro bit mais a esquerda é reservado e deve ser marcado com 0;

Flag R: Se o valor for 1, indica que o endereço multicast “carrega” o endereço

de um Ponto de Encontro (Rendezvous Point). Se o valor for 0, indica que não há um endereço de Ponto de Encontro embutido;

Flag P: Se o valor for 1, indica que o endereço multicast é baseado em um

prefixo de rede. Se o valor for 0, indica que o endereço não é baseado em um prefixo de rede;

Flag T: Se o valor for 0, indica que o endereço multicast é permanente, ou seja,

é atribuído pela IANA. Se o valor for 1, indica que o endereço multicast não é permanente, ou seja, é atribuído dinamicamente.

Os quatro bits que representam o escopo do endereço multicast, são utilizados para delimitar a área de abrangência de um grupo multicast. Os valores atribuídos a esse campo são o seguinte:

• 1 – abrange apenas a interface local;

• 2 – abrange os nós de um enlace;

• 3 – abrange os nós de uma sub-rede

• 4 – abrange a menor área que pode ser configurada manualmente;

• 5 – abrange os nós de um site;

• 8 – abrange vários sites de uma mesma organização;

• E – abrange toda a Internet;

• 0, F – reservados;

(37)

Deste modo, um roteador ligado ao backbone da Internet não encaminhará pacotes com escopo menor do que 14 (E em hexa), por exemplo. No IPv4, o escopo de um grupo multicast é especificado através do campo TTL do cabeçalho. A lista abaixo apresenta alguns endereços multicast permanentes:

O endereço multicast solicited-node identifica um grupo multicast que todos os nós passam a fazer parte assim que um endereço unicast ou anycast lhes é atribuído. Um endereço solicited-node é formado agregando-se ao prefixo FF02::1:FF00:0000/104 os 24 bits mais a direita do identificador da interface, e para cada endereço unicast ou anycast do nó, existe um endereço multicast solicited- node correspondente.

Em redes IPv6, o endereço solicited-node é utilizado pelo protocolo de Descoberta de Vizinhança para resolver o endereço MAC de uma interface. Para isso, envia-se uma mensagem Neighbor Solicitation para o endereço solicited-node. Com isso, apenas as interfaces registradas neste grupo examinam o pacote. Em uma rede IPv4, para se determinar o endereço MAC de uma interface, envia- se uma mensagem ARP Request para o endereço broadcast da camada de enlace, de modo que todas as interfaces do enlace examinam a mensagem.

Com o intuito de reduzir o número de protocolos necessários para a alocação de endereços multicast, foi definido um formato estendido de endereço multicast, que

(38)

permite a alocação de endereços baseados em prefixos unicast e de endereços SSM (source-specific multicast).

Em endereços baseados no prefixo da rede, a flag P é marcada com o valor 1. Neste caso, o uso do campo escopo não altera, porém, o escopo deste endereço multicast não deve exceder o escopo do prefixo unicast “carregado” junto a ele. Os 8 bits após o campo escopo, são reservados e devem ser marcados com zeros. Na sequência, há 8 bits que especificam o tamanho do prefixo da rede indicado nos 64 bits que os seguem. Caso o prefixo da rede seja menor que 64 bits, os bits não utilizados no campo tamanho do prefixo, devem ser marcados com zeros. O campo identificador do grupo utiliza os 32 bits restantes. Note que, em um endereço onde a flag P é marcada com o valor 1, a flag T também deve ser marcada com o valor 1, pois este não representa um endereço definido pela IANA.

No modelo tradicional de multicast, chamado de any-source multicast (ASN), o par-ticipante de um grupo multicast não controla de que fonte deseja receber os dados. Com o SSM, uma interface pode registrar-se em um grupo multicast e especificar as fontes de dados. O SSM pode ser implementado utilizando o protocolo MLDv2 (Multicast Listener Discovery version 2).

Para um endereço SSM, as flags P e T são marcadas com o valor 1. Os campos tamanho do prefixo e o prefixo da rede são marcados com zeros, chegando ao prefixo FF3X::/32, onde X é o valor do escopo. O campo Endereço de Origem do cabeçalho IPv6 identifica o dono do endereço multicast.

Todo endereço SSM tem o formato FF3X::/96.

Os métodos de gerenciamento dos grupos multicast serão abordados no próximo módulo deste curso.

Também é importante destacar algumas características relacionadas ao endereço apresentadas pela nova arquitetura do protocolo IPv6. Assim como no IPv4, os en-dereços IPv6 são atribuídos às interfaces físicas, e não aos nós, de modo que cada interface precisa de pelo menos um endereço unicast. No entanto, é possível atribuir a uma única interface múltiplos endereços IPv6, independentemente do tipo (unicast, multicast ou anycast) ou sub-tipo (loopback, link local, 6to4, etc.). Deste modo um nó pode ser identificado através de qualquer endereço das suas interfaces, e com isso, torna-se necessário escolher entre seus múltiplos endereços qual utilizará como en-dereço de origem e destino ao estabelecer uma conexão.

Para resolver esta questão, foram definidos dois algoritmos, um para selecionar o endereço de origem e outro para o de destino. Esses algoritmos, que devem ser implementados por todos os nós IPv6, especificam o comportamento padrão desse nós, porém não substituem as escolhas feitas por aplicativos ou protocolos da

(39)

ca-mada superior.

Entre as regras mais importantes destacam-se:

• Pares de endereços do mesmo escopo ou tipo têm preferência;

• O menor escopo para endereço de destino tem preferência (utiliza-se o menor escopo possível);

• Endereços cujo tempo de vida não expirou tem preferência sobre endereços com tempo de vida expirado;

• Endereços de técnicas de transição (ISATAP, 6to4, etc.) não podem ser utiliza-dos se um endereço IPv6 nativo estiver disponível;

• Se todos os critérios forem similares, pares de endereços com o maior prefixo comum terão preferência;

• Para endereços de origem, endereços globais terão preferência sobre endere-ços temporários;

• Em um Nó Móvel, o Endereço de Origem tem preferência sobre um Endereço Remoto.

Estas regras devem ser utilizadas quando não houver nenhuma outra especificação. As especificações também permitem a configuração de políticas que possam subs-tituir esses padrões de preferências com combinações entre endereços de origem e destino.

(40)

2.1 Comandos e Shell

Comandos são instruções passadas ao computador para executar uma determinada tarefa. No mundo *NIX (GNU/Linux,Unix), o conceito de comandos é diferente do padrão MS-DOS. Um comando é qualquer arquivo executável, que pode ser ou não criado pelo usuário.

Uma das tantas vantagens do GNU/Linux é a variedade de comandos que ele ofe-rece, afinal, para quem conhece comandos, a administração do sistema acaba se tornando um processo mais rápido.

O “Shell” é o responsável pela interação entre o usuário e o sistema operacional, interpretando os comandos.

É no “Shell” que os comandos são executados.

2.1.1 O comando ls

O comando “ls” possui muitos parâmetros, veremos aqui as opções mais utilizadas. A primeira delas é o “-l” que lista os arquivos ou diretórios de uma forma bem detalhada (quem criou, data de criação, tamanho, dono e grupo ao qual cada um pertence):

1 # ls -l /

2 drwxr - xr - x 4 root root 1024 2007 -01 -15 23 :17 boot

Veja que a saída desse comando é bem detalhada. Falando sobre os campos, para o primeiro caractere temos algumas opções:

(41)

1 d = > i n d i c a que se t rat a de um d ir et ó rio

2 l = > i n d i c a que se t rat a de um " link " ( como se fos se um a t a l h o -tamb é m v amo s f ala r s obr e ele d e p o i s )

3 - = > h í fen , i n d i c a que se tra ta de um a r q u i v o r e g u l a r

4 c = > i n d i c a que o a r q u i v o é um d i s p o s i t i v o de c a r a c t e r e ( sem b u f f e r )

5 b = > i n d i c a que o a r q u i v o é um d i s p o s i t i v o de blo co ( com b u f f e r )

6 u = > " sin ô nimo para o tipo c " i n d i c a que o a r q u i v o é um d i s p o s i t i v o de c a r a c t e r e ( sem b u f f e r )

7 s = > i n d i c a que o a r q u i v o é um s o c k e t

8 p = > i n d i c a que o a r q u i v o é um fifo , nam ed pipe

FIFO - Sigla para First In, First Out, que em inglês significa primeiro a entrar,

pri-meiro a sair. São amplamente utilizados para implementar filas de espera. Os ele-mentos vão sendo colocados no final da fila e retirados por ordem de chegada. Pipes (|) são um exemplo de implementação de FIFO.

Buffer - É uma região de memória temporária, usada para escrita e leitura de dados.

Normalmente, os buffers são utilizados quando existe uma diferença entre a taxa em que os dados são recebidos e a taxa em que eles podem ser processados.

Socket - É um meio de comunicação por software entre um computador e outro. É

uma combinação de um endereço IP, um protocolo e um número de porta do proto-colo.

O campo “rwxr-xr-x” lista as permissões, enquanto os campos “root” indicam quem é o usuário e grupo dono desse diretório que, no nosso caso, é o administrador do sistema, o usuário “root”. O número antes do dono indica o número de “hard links”, um assunto abordado apenas em cursos mais avançados.

O campo “1024” indica o tamanho do arquivo, e o campo “2007-01-15 23:17” informa a data e hora em que o diretório foi criado. Finalmente, no último campo temos o nome do arquivo ou diretório listado, que, no nosso exemplo, é o “boot”.

Com relação aos diretórios, é importante ressaltar que o tamanho mostrado não corresponde ao espaço ocupado pelo diretório e seus arquivos e subdiretórios. Esse espaço é aquele ocupado pela entrada no sistema de arquivos que corresponde ao diretório.

A opção“-a” lista todos arquivos, inclusive os ocultos:

1

2 # ls -a / root

(42)

4 .. . b a s h _ h i s t o r y . kde . qt r o o t _ 1 6 1 2 0 6 . v i m i n f o . X a u t h o r i t y

Veja que, da saída do comando anterior, alguns arquivos são iniciados por “.” (ponto). Esses arquivos são ocultos. No Linux, arquivos e diretórios ocultos são iniciados por um “.” (ponto). Listar arquivos de forma recursiva, ou seja, listar também os subdiretórios que estão dentro do diretório ”/”:

1 # ls -R /

Como listar os arquivos que terminam com a palavra “.conf” dentro do diretório “/etc”?

1 # ls / etc /*. conf

Como buscar no diretório raiz ”/ “ todos os diretórios que terminem com a letra “n”?

1 # ls - ld /* n

2.1.2 Criação, movimentação, cópia e remoção de arquivos e

diretórios

2.1.2.1 Criar arquivo

Para criar um arquivo, podemos simplesmente abrir um editor de texto e salvá-lo. Mas existem outras formas. Uma das formas mais simples é usando o comando

“touch”:

1 # cd ~

2 # t ouc h arq1

(43)

2.1.2.2 Curingas

O significado da palavra curinga no dicionário é o seguinte: carta de baralho, que em certos jogos, muda de valor e colocação na sequência. No sistema GNU/Linux é bem parecida a utilização desse recurso. Os curingas são utilizados para especificar um ou mais arquivos ou diretórios.

Eles podem substituir uma palavra completa ou somente uma letra, seja para listar, copiar, apagar, etc. São usados cinco tipos de curingas no GNU/Linux:

1 * - U t i l i z a d o para um nome c o m p l e t o ou r e s t a n t e de um a r q u i v o / dir et ó rio ;

2 ? - Esse c u r i n g a pode s u b s t i t u i r uma ou mais l e t r a s em d e t e r m i n a d a posi ç ã o ;

3 ! - e x c l u i da o per a ç ã o

4 [ padr ã o ] - É u t i l i z a d o para r efe r ê ncia a uma fai xa de c a r a c t e r e s de um a r q u i v o / dir et ó rio .

5 [a - z ][0 -9] - U sad o para t r a b a l h a r com c a r a c t e r e s de a at é z s e g u i d o s de um c a r a c t e r e de 0 at é 9.

6 [a , z ][1 ,0] - U sad o para t r a b a l h a r com os c a r a c t e r e s a e z s e g u i d o s de um c a r a c t e r e 1 ou 0 n a q u e l a posi ç ã o .

7 [a -z ,1 ,0] - Faz r efe r ê ncia do i n t e r v a l o de c a r a c t e r e s de a at é z ou 1 ou 0 n a q u e l a posi ç ã o .

8 [^ abc ] - Faz ref er ê ncia a q u a l q u e r c a r a c t e r e x c e t o a , b e c .

9 { padr ã o } - E x p a n d e e gera s t r i n g s para p e s q u i s a de padr õ es de um a r q u i v o / di ret ó rio .

10 X { ab ,01} - Faz r efe r ê ncia a sequ ê ncia de c a r a c t e r e s Xab ou X01 .

11 X {a -e ,10} - Faz r efe r ê ncia a sequ ê ncia de c a r a c t e r e s Xa Xb Xc Xd Xe X10

DICA: - A barra invertida serve para escapar um caracter especial, ela é co-nhecida também como “backslash”.

A diferença do método de expansão dos demais, é que a existência do arquivo ou diretório é opcional para resultado final. Isto é útil para a criação de diretórios.

Os 5 tipos de curingas mais utilizados ( *, ?, [ ], , ! ) podem ser usados juntos.

Vejamos alguns exemplos:

(44)

1 # cd ~

2 # t ouc h arq {1 ,2 ,3}. txt arq {4 ,5}. new

Podemos listá-los assim:

1 # ls

2 arq1 arq1 . txt arq2 arq2 . txt arq3 arq3 . txt arq4 arq4 . new arq5 arq5 . new

Vamos listar todos os arquivos do diretório “/home/usuário”. Podemos usar o curinga “*” para visualizar todos os arquivos do diretório:

1 # ls *

2 arq1 arq1 . txt arq2 arq2 . txt arq3 arq3 . txt arq4 arq4 . new arq5 arq5 . new

Para listarmos todos os arquivos do diretório “/home/usuário” que tenham “new” no nome:

1 # ls * new *

2 arq4 . new arq5 . new

Listar todos os arquivos que começam com qualquer nome e terminam com “.txt”:

1 # ls *. txt

2 arq1 . txt arq2 . txt arq3 . txt

Listar todos os arquivos que começam com o nome “arq”, tenham qualquer caractere no lugar do curinga, e terminem com “.txt”:

1 # ls arq ?. txt

Referências

Documentos relacionados

However other researches investigating OBS items from several bank perspectives (risk, performance, liquidity, size and regulation) has reached different conclusions: Dionne

Distingue o identificador da rede do identificador do host ; Utilizada para definir se o host de destino está na rede local ou numa rede remota;.. é um número de 32 bits e

esta espécie foi encontrada em borda de mata ciliar, savana graminosa, savana parque e área de transição mata ciliar e savana.. Observações: Esta espécie ocorre

Dessa forma, os níveis de pressão sonora equivalente dos gabinetes dos professores, para o período diurno, para a condição de medição – portas e janelas abertas e equipamentos

de lôbo-guará (Chrysocyon brachyurus), a partir do cérebro e da glândula submaxilar em face das ino- culações em camundongos, cobaios e coelho e, também, pela presença

Segundo Cerqueira (2004) não só as escolas têm um papel importante no desenvolvimento das capacidades e criação de competências nestes jovens, também o.. mundo

The lagrangian particle tracking model was used to stu- dy the dispersion of particles released in different lagoon channels, the advection of particles released

gondii seroprevalence and demographic data, positive, negative and depressive symptoms, cognitive performance and quality of life in patients with schizophrenia.. Previous