El archivo de computadora hosts es un archivo del sistema operativo que asigna nombres de host a direcciones IP . Es un archivo de texto plano . Originalmente, el Stanford Research Institute mantenía manualmente un archivo llamado HOSTS.TXT y lo ponía a disposición mediante el intercambio de archivos para los miembros de ARPANET , que contenía los nombres de host y la dirección de los hosts aportados para su inclusión por las organizaciones miembros. El Sistema de Nombres de Dominio , descrito por primera vez en 1983 e implementado en 1984, [1] automatizó el proceso de publicación y proporcionó una resolución instantánea y dinámica de nombres de host en la red en rápido crecimiento. En los sistemas operativos modernos, el archivo hosts sigue siendo un mecanismo alternativo de resolución de nombres , configurable a menudo como parte de instalaciones como el cambio de servicio de nombres como método principal o como método alternativo.
El archivo de hosts es una de varias instalaciones del sistema que ayuda a abordar los nodos de la red en una red informática. Es una parte común de la implementación del Protocolo de Internet (IP) de un sistema operativo y cumple la función de traducir nombres de host amigables para los humanos en direcciones de protocolo numérico, llamadas direcciones IP , que identifican y ubican un host en una red IP.
En algunos sistemas operativos, el contenido del archivo hosts se utiliza preferentemente frente a otros métodos de resolución de nombres, como el Sistema de nombres de dominio (DNS), pero muchos sistemas implementan conmutadores de servicio de nombres , por ejemplo, nsswitch.conf para Linux y Unix , para proporcionar personalización. A diferencia de los solucionadores de DNS remotos, el archivo de hosts está bajo el control directo del administrador de la computadora local. [2]
El archivo de hosts contiene líneas de texto que consisten en una dirección IP en el primer campo de texto seguida de uno o más nombres de host. [3] Los nombres de host se asignan a las IP, no al revés. Cada campo está separado por espacios en blanco; a menudo se prefieren las pestañas por razones históricas, pero también se utilizan espacios. Se pueden incluir líneas de comentarios; están indicados por un octothorpe (#) en la primera posición de dichas líneas. Se ignoran las líneas completamente en blanco del archivo. [4] Por ejemplo, un archivo de hosts típico puede contener lo siguiente:
127.0.0.1 bucle invertido del host local::1 servidor local
Este ejemplo solo contiene entradas para las direcciones de bucle invertido del sistema y sus nombres de host, un contenido predeterminado típico del archivo de hosts. El ejemplo ilustra que una dirección IP puede tener varios nombres de host ( localhost y loopback ) y que un nombre de host puede asignarse a direcciones IP IPv4 e IPv6 , como se muestra en la primera y segunda línea respectivamente.
La ubicación del archivo hosts en la jerarquía del sistema de archivos varía según el sistema operativo. Suele llamarse hosts , sin extensión.
ARPANET , el predecesor de Internet , no tenía una base de datos distribuida de nombres de host. Cada nodo de la red mantuvo su propio mapa de los nodos de la red según fuera necesario y les asignó nombres que fueran memorables para los usuarios del sistema. No había ningún método para garantizar que todas las referencias a un nodo determinado en una red usaran el mismo nombre, ni tampoco había una manera de leer el archivo hosts de otra computadora para obtener automáticamente una copia.
El pequeño tamaño de ARPANET mantuvo pequeña la sobrecarga administrativa para mantener un archivo de hosts preciso. Los nodos de la red normalmente tenían una dirección y podían tener muchos nombres. Sin embargo, a medida que las redes informáticas TCP/IP de área local ganaron popularidad, el mantenimiento de los archivos host se convirtió en una carga mayor para los administradores del sistema a medida que se agregaban redes y nodos de red al sistema con una frecuencia cada vez mayor.
Los esfuerzos de estandarización, como la especificación de formato del archivo HOSTS.TXT en RFC 952, y los protocolos de distribución, por ejemplo, el servidor de nombres de host descrito en RFC 953, ayudaron con estos problemas, pero la naturaleza centralizada y monolítica de los archivos de host finalmente requirió la creación. del Sistema de Nombres de Dominio (DNS) distribuido.
En algunos sistemas antiguos existe un archivo llamado redes que es similar a un archivo de hosts y que contiene nombres de redes. [13]
En su función de resolver nombres de host, el archivo de hosts se puede utilizar para definir cualquier nombre de host o nombre de dominio para su uso en el sistema local.
El archivo de hosts puede presentar un vector de ataque para software malicioso. El archivo puede modificarse, por ejemplo, mediante software publicitario , virus informáticos o software troyano para redirigir el tráfico desde el destino previsto a sitios que albergan contenido malicioso o no deseado. [19] El extendido gusano informático Mydoom.B impidió que los usuarios visitaran sitios sobre seguridad informática y software antivirus y también afectó el acceso desde la computadora comprometida al sitio web de Microsoft Windows Update .
En algunos casos, el malware ha modificado la biblioteca encargada de cargar el archivo hosts para redirigirlo a un archivo que puede controlar libremente. [20]