¿Qué es el archivo hosts?

Es un archivo de texto que contiene direcciones IP y nombres de sitios web relacionados en pares unívocos.

La respuesta mas corta es que el archivo HOSTS es como una libreta de direcciones. Cuando tu escribes una direccion web en tu navegador como por ej: www.google.com, el sistema consulta primero al archivo HOSTS para ver si este contiene la direccion IP, o el "número telefónico, :p" de ese sitio. Si lo tiene, entonces tu computador hará la "llamada" y el sitio será cargado y abierto en tu navegador. Si el archivo HOSTS no tiene la direccion IP, entonces tu computador le preguntará al computador de tu ISP (proveedor de servicio a Internet) por el "número de telefono" antes de poder "llamar" a ese sitio. La mayoría de las veces, no tendras ninguna direccion en tu "libreta de direcciones", debido a que no has escrito nada allí. Así que, tu computador siempre le preguntara a tu ISP por la direccion IP de todos los sitios que desees visitar.

HOSTS (sin extensión alguna), es un archivo utilizado por Windows para asociar nombres de dominio con direcciones IP. Si este archivo existe en c:\windows\ (Windows 95, 98 y Me), o en \system32\drivers\etc\ (Windows NT, 2000 y XP), el sistema lo examina antes de hacer una consulta a un servidor DNS. Tenga en cuenta que no necesariamente debe existir en todos los sistemas.

Algunos malwares modifican HOSTS para que el usuario no pueda ingresar a algunos sitios (generalmente para impedir la actualización de antivirus u otro software de seguridad), o para que sea redirigido a sitios falsos.

Por ejemplo, cualquiera de las siguientes líneas en el archivo HOSTS, impediría que el usuario ingresara al sitio "www.ejemplo.com", cuya verdadera IP (en este caso ficticia) pudiera ser "254.56.78.12", si teclea solo "http://www.ejemplo.com" en la barra de navegación del navegador:

127.0.0.1 www.ejemplo.com
0.0.0.0 www.ejemplo.com

NOTA: Las direcciones 0.0.0.0 (ruteo por defecto) y 127.0.0.0 (loopback o retorno de lazo) tienen un especial significado, y generalmente apuntan a la propia máquina (localhost).

Si en cambio alguien coloca lo siguiente en el archivo HOSTS:

230.127.34.9 www.ejemplo.com

Entonces el usuario sería redirigido a otra máquina (230.127.34.9) en lugar de la verdadera a la que corresponde www.ejemplo.com (254.56.78.12).

Algunas utilidades (Spybot Search and Destroy por ejemplo), agregan al HOSTS direcciones de conocidos sitios que descargan adwares o spywares (comúnmente denominados parásitos), para que estos nunca sean accedidos. Un ejemplo:

# Copyright (c) 1993-1999 Microsoft Corp.
#
# Éste es un ejemplo de archivo HOSTS usado por Microsoft TCP/IP para Windows.
# Este archivo contiene las asignaciones de las direcciones IP a los nombres de
# host. Cada entrada debe permanecer en una línea individual. La dirección IP
# debe ponerse en la primera columna, seguida del nombre de host correspondiente.
# La dirección IP y el nombre de host deben separarse con al menos un espacio.
#
# También pueden insertarse comentarios (como éste) en líneas individuales
# o a continuación del nombre de equipo indicándolos con el símbolo "#"
#
# Por ejemplo:
#
# 102.54.94.97 rhino.acme.com # servidor origen
# 38.25.63.10 x.acme.com # host cliente x

127.0.0.1 localhost

Normalmente solo el siguiente valor está definido por defecto:

127.0.0.1 localhost

La sintaxis del archivo hosts es casi la mis en cualquiera de las plataformas. La mayoría de los archivos hosts vienen con una serie de entradas, una por línea. Por ejemplo, esta es la sintaxis típica:

ip host

La primera parte es la ubicación a donde será redirigida la dirección, la segunda parte será la dirección a la que se desea acceder y la tercera parte, es un comentario. Cada parte puede ser separado por un espacio, aunque para facilitar su lectura suele separarse por dos tabs.


Ubicación del archivo hosts

En sistemas Windows 95/98/Me:
C:\Windows

En sistemas Windows NT/2000/2003
C:\Winnt\System32\drivers\etc

En sistemas Windows XP
C:\Windows\System32\drivers\etc

Inicio Ejecutar:
%SystemRoot%\system32\drivers\etc\hosts

GNU/Linux

“/etc/hosts”

Restaurar archivo HOSTS

1. Utilizando el Explorador de Windows, busque el archivo HOSTS (sin extensión), en alguna de las siguientes carpetas (según el sistema operativo utilizado):

c:\windows\
c:\windows\system32\drivers\etc\
c:\winnt\system32\drivers\etc\

Windows 7: Ejecutar

notepad c:\windows\system32\drivers\etc\hosts

Comando para refrescar las dns en Windows (flush dns)
ipconfig /flushdns

Comando para refrescar las dns en Linux (según si estamos usando nscd, dnsmasq, o bind)
service nscd restart o bien nscd -i hosts
service dnsmasq restart
rndc restart

Comando para refrescar las dns en Mac OS X:
dscacheutil -flushcache

2. Si aparece, haga doble clic sobre dicho archivo (HOSTS). Seleccione "Seleccionar el programa de una lista", "Aceptar", y luego seleccione NOTEPAD (Bloc de notas). NO MARQUE "Utilizar siempre el programa seleccionado para abrir este tipo de archivos".

Archivo Hosts

3. Borre todas las líneas que comiencen con un número, salvo las siguientes:

127.0.0.1 localhost

Archivo Hosts

4. Acepte guardar los cambios al salir del bloc de notas.

5. Si utiliza algún programa anti-spyware o anti-adware que modifique el archivo HOSTS para protegerlo de ciertos parásitos, vuelva a ejecutar ese programa para actualizar el archivo HOSTS con dicha información.

 

 

Fichero archivo HOSTS en Linux

Existen dos archivos llamados resolv.conf y host.conf ambos bajo el directorio /etc/ que contienen datos sobre como obtendrá información el resolver .

/etc/host.conf : Contiene el orden como serán ejecutadas las resoluciones que requiera el "Host", este archivo normalmente contiene la siguiente linea:

order hosts,bind,nis

El significado de estos parámetros es que cualquier tipo de resolución de nombres primeramente debe ser ejecutada en el archivo /etc/hosts , posteriormente se debe consultar a BIND y si aún no se ha logrado la resolución, intentar con NIS ("Network Information Server"), si después de consultar este servicio no es posible la resolución, el Resolver responderá que no fue posible localizar el "Host".

Parámetros de /etc/host.conf
order hosts, bind
Determina el orden de llamada a los servicios de resolución de nombres. Los parámetros posibles, separados por espacios o comas, son:
hosts: Búsqueda en el archivo /etc/hosts
bind: Llamada a un servidor de nombres
nis: Mediante NIS
multi on/off
Determina si un ordenador dado de alta en /etc/hosts puede tener varias direcciones IP.
nospoof on/off
Estos parámetros influyen sobre el spoofing del servidor de nombres, pero no tienen ninguna influencia adicional sobre la configuración de red.La librería resolv + intentará evitar la suplantación de nombre de host para mejorar la seguridad de rlogin y rsh. Funciona de la siguiente manera: después de realizar una búsqueda de direcciones de host, resolv + llevará a cabo una búsqueda de nombre de host para esa dirección. Si los dos nombres de host no son iguales, la consulta fallará. El valor predeterminado es off.
spoofalert on
Los valores válidos son on y off. Si esta opción está activada y la opción nospoof también se establece, resolv + registrará una advertencia del error a través de la facilidad syslog. El valor predeterminado es off.
spoof
Los valores válidos son off, nowarn y warn. Si esta opción está desactivada, direcciones falsificadas se permiten y hay advertencias se emitirán a través de la facilidad syslog. Si esta opción está activada para advertir, resolv + intentará evitar la suplantación de nombre de host para mejorar la seguridad y registrar un aviso de error a través de syslog. Si esta opción se establece en nowarn, la librería resolv + intentará evitar la suplantación de nombre de host para mejorar la seguridad, pero no emitir advertencias a través de la facilidad syslog. Ajuste esta opción para todo lo demás es igual al ajuste a nowarn.
trim domainname El nombre de dominio que se indica aquí, se resta del nombre totalmente cualificado del ordenador que lo contiene (antes de asignar la dirección IP al nombre de ordenador). Se trata de una opción muy útil cuando el archivo /etc/hosts sólo contiene nombres de ordenadores locales (alias) y estos deben ser reconocidos también cuando se añade el nombre del dominio.

/etc/hosts : El archivo hosts ubicado en el directorio /etc contiene la resolución de "Hosts" que fueron definidos localmente, en muchas ocasiones se opta por este tipo de resolución debido a su rapidez ya que la información reside en el mismo "Host" que esta solicitando la resolución, sin embargo, una de las desventajas que presenta este archivo es que debe ser modificado manualmente , además en implementaciones de tamaño mediano-grande el mantener este archivo (hosts) actualizado en varios "Hosts" presenta una carga administrativa excesiva. El contenido de /etc/hosts puede ser el siguiente:

127.0.0.1 localhost mimaquina

/etc/resolv.conf : Anteriormente se pudo observar que el archivo /etc/host.conf especifica como segunda opción a BIND , pero aun no se sabe cuales o cuantos servidores BIND serán utilizados para la resolución, /etc/resolv.conf coordina información sobre como serán utilizados los servidores BIND. Este archivo define varios parámetros y tiene la siguiente forma:

domain osmosislatina.com
search osmosislatina.com supple.com telmex.net
nameserver 124.13.24.1
nameserver 124.13.17.2
nameserver 64.12.45.12
sortlist 124.13.24.0/255.255.255.0 64.0.0.0

La parte más importante de este archivo son los parámetros nameserver , estos indican cuales son las direcciones IP de los servidores DNS que deben ser utilizados. La sección sortlist aunque opcional es utilizada para indicar la preferencia de los nameserver's , esto garantiza que el servidor DNS en 124.13.24.1 tendrá preferencia sobre todos los demás, esta preferencia se puede deber a cercanía o capacidad del "Host"

El parámetro domain indica el dominio al cual pertenece el "Host", en este caso osmosislatina.com , mientras que el parámetro search es utilizado como un auxiliar para la resolución de nombres, esto es, si se ejecuta el comando telnet lejano , al momento que se utilice la resolución DNS, éste agregará los dominios que se encuentren en search , intentará telnet lejano.osmosislatina.com , telnet lejano.hostway.com .....lo anterior ahorra tiempo de escritura al usuario final.

Ejemplo:

options rotate
options timeout:1
nameserver 8.8.4.4
nameserver 8.8.8.8
nameserver 208.67.222.222
nameserver 208.67.222.220
nameserver 209.244.0.3
nameserver 209.244.0.4
nameserver 74.82.42.42

Servidores dns rotando con timeout de 1 segundo usando Google public dns, open dns, level3, Hurricane Electric.

/etc/nsswitch.conf

Con la version 2.0 de la librería GNU de C comenzó el uso del Name Service Switch (NSS) (ver la página del manual de man 5 nsswitch.conf o bien la información más extensa de The GNU C Library Reference Manual, capítulo “System Databases and Name Service Switch” – ver libcinfo.

El archivo /etc/nsswitch.conf determina en qué orden se solicitan determinadas informaciones. El archivo, “/etc/nsswitch.conf”, muestra un ejemplo para nsswitch.conf en el cual las líneas de comentarios comienzan con #. Respecto a la “base de datos” hosts, el ejemplo siguiente indica que se envía una solicitud al servicio DNS después de consultar /etc/hosts (files).

./etc/nsswitch.conf

passwd: compat
group: compat

hosts: files dns dns dns dns
networks: files dns

services: db files
protocols: db files

netgroup: files
automount: files nis

Las “bases de datos” accesibles vía NSS se recogen en la tabla, “Bases de datos accesibles a través de /etc/nsswitch.conf”. Para el futuro se espera también la disponibilidad de automount, bootparams, netmasks y publickey.

Bases de datos accesibles a través de /etc/nsswitch.conf


aliases Alias de correo usado por sendmail, ver la página del manual man 5 aliases.
ethers Direcciones de ethernet.
group Usado por getgrent para grupos de usuarios, ver la página del manual man 5 group.
hosts Para nombres de host y direcciones IP, utilizados por funciones como gethostbyname o similares.
netgroup Lista de hosts y de usuarios válida en la red para administrar los derechos de acceso; ver la página del manual man 5 netgroup.
networks Nombres y direcciones de redes, lo usa getnetent.
passwd Contraseñas de usuarios, utilizado por getpwent, ver la página del manual man 5 passwd.
protocols Protocolos de red, información utilizada por getprotoent, ver la página del manual man 5 protocols.
rpc Nombres y direcciones del tipo “Remote Procedure Call”; utilizado por getrpcbyname y funciones similares.
services Servicios de red; lo usa getservent.
shadow Las contraseñas “Shadow” de los usuarios, usado por getspnam, ver la página del manual man 5 shadow.

Las opciones de configuración de las “bases de datos” NSS se encuentran en “Opciones de configuración de las bases de datos NSS”.

Opciones de configuración de las bases de datos NSS

files acceso directo a los archivos, por ejemplo a /etc/aliases.
db acceso a través de una base de datos.
nis NIS, ver apartado 13.8, “NIS – Network Information Service”.
nisplus
dns Parámetro adicional, solo aplicable para hosts y networks.
compat Parámetro adicional para passwd, shadow y group.
además es posible conseguir diferentes resultados en caso de determinados eventos “Lookup”; puede encontrar información adicional en la página del manual man 5 nsswitch.conf.

 

Todo sobre Windows

Procesos del Administrador de Tareas del XP El proceso SVCHOST.EXE
La consola de Recuperación del XP Para que sirve el archivo Pagefile.sys
Reparar el Registro del XP Explicación de un archivo DLL
Diferencias entre Windows XP Home y Professional Faq Errores Windows
Conectividad limitada o nula Tabla Errores Windows
Límite de 10 conexiones en Windows XP + SP2 Recuperar Sistema XP
Menús Ocultos del Windows XP Reparar "Restaurar Sistema" XP
Servicios del Windows XP Desactivar "Restaurar Sistema" XP
Cómo leer pantallazos azules Características Windows XP-Vista Starter
Archivo-Fichero HOSTS (restaurar-editar) Atajos de Teclado Windows
Compartir Conexión a Internet en Windows Comandos de la consola en Windows XP
Comandos protocolo TCP/IP en Windows