Hosts (arquivo)
O arquivo hosts, é um arquivo de computador utilizado pelo sistema operacional destinado a relacionar hostnames a endereços de ip. É um arquivo de texto plano, tradicionalmente nomeado como hosts.
Propósito
O arquivo hosts é uma das facilidades existentes no endereçamento de redes dentro de um computador. Faz parte da implementação do protocolo de internet, e serve na tradução de um nome compreensível para os seres humanos em um endereço ip, que identificará um integrante ou destino da rede.
Em alguns sistemas operacionais utilizam o arquivo hosts como método preferencial de resolução de nomes ao invés de outros métodos como o DNS ou ainda implementarem o Name Service Switch, que define várias formas de resolução de nomes. Ao contrário do DNS, o arquivo hosts permite o controle direto do administrador local de um computador.
Conteúdo do Arquivo
O conteúdo do hosts consiste basicamente em linhas que definem os hosts, e colunas onde a primeira determina o endereço ip, e as colunas subseqüentes determinam os possíveis nomes para tal endereço. O caractere # no início de uma linha define um comentário, e tal linha será ignorada na resolução de nomes.
#Exemplo de arquivo Hosts, do Sistema Debian GNU/Linux 127.0.0.1 localhost 192.168.1.1 gateway firewall # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
Este exemplo define que o ip 127.0.0.1 terá o nome localhost, e o ip 192.168.1.1 os nomes gateway ou firewall. Os outros nomes abaixo do segundo comentário foram gerados de forma automática na instalação, definindo endereços pré-determinados do tipo IPv6
Localização do arquivo hosts
A localização do arquivo hosts varia, dependendo do sistema operacional ou sistema de arquivos em questão:
Sistema Operacional | Versão(ões) | Localização |
---|---|---|
Unix, Unix-like, POSIX | /etc/hosts [1] | |
Microsoft Windows | 95, 98/98SE, Me | %WinDir%\ |
NT, 2000, e XP 32-bits,[2] 2003, Vista, 7 | %SystemRoot%\system32\drivers\etc\ | |
Versões 64-bit[3] | %SystemRoot%\system32\drivers\etc\ (Muitas fontes, incluindo a própria documentação da microsoft apontarão tal arquivo para %SystemRoot%\SysWOW64\drivers\etc\ )[4] | |
Windows Mobile | Chave de Registro: \HKEY_LOCAL_MACHINE\Comm\Tcpip\Hosts | |
Apple Macintosh | 9 ou mais recentes | System Folder: Preferências ou Diretório do Sistema |
Mac OS X 10.0 – 10.1.5[5] | (Adicionado por NetInfo ou niload) | |
Mac OS X 10.2 and newer, iOS | /private/etc/hosts [5] ou desde que o /etc é um link simbólico para /private/etc, /etc/hosts (como POSIX) | |
Novell NetWare | SYS:etc\hosts | |
OS/2 & eComStation | "bootdrive":\mptn\etc\ | |
Symbian | Symbian OS 6.1–9.0 | C:\system\data\hosts |
Symbian OS 9.1+ | C:\private\10000882\hosts | |
Android | /system/etc/hosts |
História
Na ARPANET, a predecessora da internet, não existia uma base de dados distribuída de nomes. Cada rede mantinha sua própria forma de mapear os integrantes dessa rede de forma a distribuir nomes que fossem facilmente memorizados pelos usuários. Não havia formas de verificar que dois computadores estavam utilizando o mesmo nome, ou obter uma cópia recente do arquivo hosts de outro computador.
A dimensão da ARPANET na época, fazia com que a distribuição de um novo arquivo hosts gerasse pouco retrabalho e fosse algo relativamente preciso. Nós de rede possuíam apenas um endereço e vários nomes associados, porém, com a popularidade da LAN crescendo, a manutenção e alteração do arquivo hosts se tornou dificultosa e a frequência de alterações em tal arquivo também aumentou de forma significativa.
Padronizações por outro lado como a especificação do arquivo HOSTS.TXT na RFC 952, e protocolos de distribuição como o servidor de hostnames na RFC 953, ajudaram com estes problemas, porém a forma monolítica e centralizada de servidor de nomes, gerou a necessidade da criação do DNS distribuído.
Funcionalidades adicionais
Em sua função de resolver nomes, o arquivo hosts pode ser usado para definir nomes ou domínios para serem utilizados pelo sistema local. Esta funcionalidade pode ser benéfica ou utilizada para fins maliciosos.
- Redirecionar domínios locais
- Alguns serviços web, e administradores ou desenvolvedores da intranet definem domínios locais em sua LAN, com o objetivo de acessar recursos internos a empresa, ou criar um ambiente para desenvolvimento e teste de software.
- Bloqueio de conteúdo da internet
- Entradas especialmente criadas no arquivo hosts podem ser utilizados para bloquear publicidade na internet(online advertising), ou domínios que podem conter conteúdos maliciosos como servidores com spyware, adware, ou qualquer tipo de malware.[6] Esta configuração pode ser atingida adicionando entradas para tais sites, redirecionando as requisições para um endereço IP inexistente, ou que não possui tais conteúdos.
Existem vários softwares que povoam o arquivo hosts com entradas indesejáveis de conteúdo de internet de forma automática.[6]
Segurança
Por ser a principal regra de resolução de nomes local, o arquivo hosts representa um vetor de ataque para softwares de conteúdo malicioso. O arquivo pode ser hackeado, por exemplo, por um adware, vírus de computador ou por um software do tipo trojan horse, sendo modificado para redirecionar o tráfego para um destino com conteúdo intrusivo ou ofensivo para o usuário de um computador.[7] O Worm Mydoom.B, conhecido pela sua grande infecção, bloqueava o acesso de usuários a sites sobre segurança de computadores ou sites de antivírus, assim como também afetava o acesso dos usuários ao site do Windows Update, da empresa Microsoft.
Referências
- ↑ «Guia do Administrador Linux – Escrevendo no arquivo hosts - em inglês». Consultado em 16 de maio de 2010
- ↑ «Microsoft KB Q314053: TCP/IP and NBT Parâmetros de configuração do Windows XP - em inglês». Consultado em 28 de agosto de 2010
- ↑ «Microsoft KB 972034 Revisão 2.0: Arquivo hosts padrão - em inglês». Consultado em 28 de agosto de 2010
- ↑ «Onde está o arquivo hosts no Windows x64? - em inglês». Consultado em 30 de outubro de 2010. Arquivado do original em 20 de maio de 2010
- ↑ a b «Mac OS X: Como adicionar hosts ao arquivo hosts - em inglês». Consultado em 28 de agosto de 2010
- ↑ a b «Blocking Unwanted Connections with a Hosts File». winhelp2002.mvps.org
- ↑ «Remove Trojan.Qhosts – Symantec - em inglês». Consultado em 16 de maio de 2010
Ligações externas
- Ordem de resolução de nome no TCP/IP Microsoft- em inglês
- Notas sobre resolução de nomes no Linux- em inglês
Portal das tecnologias de informação