O arquivo hosts no meu Mac é um documento de texto pequeno, mas importante, que tem a capacidade de mapear nomes de host para endereços IP específicos. Embora a Internet moderna use uma variedade de servidores DNS públicos e privados para atribuir endereços IP, o arquivo hosts é uma maneira conveniente de substituir esses servidores DNS, permitindo apontar manualmente o endereço de um site para o endereço IP desejado ou bloquear o acesso a um site apontando para um endereço IP interno ou não utilizado.
A seguir, mostrarei como editar meu arquivo de hosts do Mac no macOS.
Como editar meu arquivo de hosts do Mac com edição de texto
Existem duas maneiras principais de editar meu arquivo de hosts no Mac OS X.
A primeira é usar o TextEdit, já que meu arquivo hosts é um documento de texto simples. No entanto, não consigo abrir o arquivo diretamente porque ele reside em uma área protegida do sistema de arquivos. Em vez disso, tenho que copiar o arquivo para um local de check-out, como a área de trabalho, editá-lo e copiá-lo de volta.
- Procuro o arquivo hosts no Finder, que posso acessar clicando na área de trabalho, na ferramenta de pesquisa de smilies no canto inferior esquerdo da tela ou pressionando Command + Space + Finder.
- Em seguida, seleciono Ir no menu.
- Em seguida, seleciono ir para a pasta no menu.
- Na caixa, eu insiro “/private/etc/hosts” na caixa e clico em Comentário.
- Uma nova janela do Finder será aberta e o arquivo de hosts do meu Mac será selecionado. Eu clico e o arrasto para fora do Finder e para minha área de trabalho.
Bloquear endereços IP
Por padrão, o arquivo /etc/hosts é relativamente simples. Contém uma série de linhas de texto descritivas que são “comentadas” com a cerquilha ou o sinal de número (#).
Qualquer linha que comece com um sinal # é um comentário e não é lida do arquivo /etc/hosts. Para cada linha, meu computador ignora qualquer texto após o sinal de libra, tornando-o uma boa maneira de adicionar notas e descrições aos meus arquivos. Ele também contém valores de IP padrão para localhost e broadcasthost. Para modificar o arquivo, adicionarei minhas próprias linhas após broadcasthost.

Além de testar sites recém-desenvolvidos e migrações de hospedagem na web, outro motivo para modificar o arquivo hosts é bloquear o acesso a sites específicos.
No meu exemplo, vou fingir que o computador que estou usando é um dispositivo que quero usar exclusivamente para o trabalho, sem que o Facebook me distraia na minha máquina de trabalho.
- Para fazer isso, digito o endereço IP que desejo atribuir, seguido por duas guias e o nome do host.
- No meu caso, quero bloquear o Facebook, então atribuirei www.facebook.com a 0.0.0.0, que como endereço IP inválido, gerará um erro.
Redirecionar endereços da web
Como alternativa, posso inserir o endereço IP de um site válido em vez de 0.0.0.0, o que direcionará os usuários que tentam acessar o Facebook para o site de minha escolha. Para determinar o endereço IP de um site, posso usar o comando dig, que vem como padrão no macOS. Para cavar o site via Terminal, simplesmente abro o Terminal e, em seguida, executo o comando dig para URL, que retorna o endereço IP como saída.
- Abro o terminal e digito “
$ dig www.techjunkie.com + short
104.25.27.105
“- Nota: A opção +short mantém a saída apenas com a informação que preciso, que é o endereço IP.
- Anoto o endereço IP retornado e o uso em meu mapeamento de arquivos de hosts Mac. Por exemplo, o site do The New York Times retorna um endereço IP de 170.149.172.130. Se eu mapear isso para o Facebook em meu arquivo de hosts, toda vez que alguém usando meu Mac tentar acessar o Facebook, verá o carregamento do The New York Times.
- Posso adicionar quantas entradas quiser ao arquivo hosts inserindo novos mapeamentos em cada linha. Depois de fazer as alterações desejadas no arquivo hosts, eu o salvo em seu local atual em minha área de trabalho.
- Em seguida, arrasto e solto o arquivo hosts da minha área de trabalho para seu local original em /private/etc. Se fechei a janela do Finder apontando para esse diretório, simplesmente uso a opção Finder > Ir > Ir para a pasta, discutida acima, para reabri-la.
- Quando coloco o arquivo hosts de volta em seu local original, o macOS me pergunta o que fazer com o arquivo hosts não modificado que já está lá. Eu escolho Substituir e digito minha senha de administrador para autenticar a transferência.
Depois que meu arquivo de hosts modificado está no lugar, inicio meu navegador da Web para testar as alterações.
Limpe seu cache DNS
Na maioria dos casos, o novo mapeamento deve funcionar imediatamente, mas se eu não vir o comportamento correto, talvez seja necessário liberar meu cache DNS, forçando o navegador a ler meu arquivo de hosts para determinar o mapeamento.
Para liberar o cache DNS do meu Mac, abro o Terminal e uso o seguinte comando (sudo me permite executar este comando como administrador na minha máquina):
- Agora eu escrevo “
sudo killall -HUP mDNSResponder
” e pressione Comentário. Observação: devo inserir minha senha de administrador para executar este comando. - Para que meu Mac libere seu cache DNS e confirme que liberou seu cache ecoando uma confirmação, insiro esses dois comandos separados por ponto e vírgula, conforme mostrado aqui: “
sudo killall -HUP mDNSResponder;say DNS cache has been flushed
.”
Então meu Mac passa pelos alto-falantes e diz “DNS cache flushed”.
Como editar o arquivo hosts do meu Mac no Terminal com o Nano
As etapas da seção anterior são bastante simples, mas se eu quiser evitar a cópia do arquivo hosts, posso editá-lo diretamente no Terminal usando o editor de texto UNIX Nano, integrado ao macOS.
- Para começar, inicio o Terminal, digito o seguinte comando e pressiono Comentário. Como acontece com todos os comandos sudo, também preciso inserir minha senha de administrador para executá-lo:
"sudo nano /private/etc/hosts
“ - Agora vou ver o arquivo hosts aberto no editor Nano ou vigor ou outro editor de minha escolha. Para navegar e editar o arquivo no Nano, uso as setas do teclado.
- Assim como fiz com o método TextEdit acima, posso adicionar, modificar ou remover mapeamentos de nomes de host à vontade. Desde que iniciei o Nano usando o sudo, todas as alterações serão autenticadas e salvas diretamente no arquivo hosts original, sem a necessidade de copiá-lo do meu diretório pessoal.
- Quando termino de fazer as alterações, pressiono Control-X para sair do editor, Sim para salvar e Comentário para substituir o arquivo de hosts existente.
Como mencionei anteriormente, certifique-se de limpar seu cache DNS se perceber que seus novos mapeamentos não estão funcionando corretamente.
Esses são apenas exemplos de bloqueio e redirecionamento de sites que distraem em um ambiente de trabalho, mas também posso usar essas etapas para bloquear manualmente o acesso a sites maliciosos e, claro, para outros usos também.
Se você cometer um erro e não souber como corrigi-lo, sempre poderá restaurar o conteúdo do arquivo hosts padrão usando um dos métodos acima para inserir as seguintes informações padrão:
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost::1 localhost
fe80::1%lo0 localhost