hosts (arquivo)

Origem: Wikipédia, a enciclopédia livre.

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[editar | editar código-fonte]

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[editar | editar código-fonte]

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[editar | editar código-fonte]

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[editar | editar código-fonte]

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[editar | editar código-fonte]

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[editar | editar código-fonte]

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

Ligações externas[editar | editar código-fonte]