El archivo hosts: una poderosa herramienta para usuarios y desarrolladores

Publicado: 2020-09-23

Es posible que haya oído hablar de un archivo de hosts antes, pero no está seguro de qué es o qué hace. En este artículo vamos a aclarar esto y explicar exactamente qué es un archivo host y cómo funciona. También veremos algunos ejemplos de cosas que puede lograr con él. ¡Empecemos!

¿Qué es un archivo de host?

Se encuentra un archivo de hosts en su computadora (independientemente de si es Mac o Windows, tendrá uno). Los archivos de host son lo que se conoce como "texto sin formato" y se originaron hace varias décadas, cuando se usaron originalmente como una forma temprana de "resolución de nombres" mediante la cual estos archivos dirigían la actividad inicial de Internet a los servidores de destino. Este uso fue reemplazado por la invención del Sistema de Nombres de Dominio (o DNS) que todavía se usa en la actualidad.

El tráfico de Internet actual se basa en el sistema DNS para "decirle adónde ir". Cuando escribe la dirección de un sitio web en su navegador, el navegador 'busca' la ubicación del servidor que aloja este sitio web utilizando el sistema DNS.

Esa solicitud comienza en el archivo de hosts de su computadora local. Si los detalles requeridos (es decir, la ubicación o la dirección IP del servidor requerido) no se encuentran allí, la solicitud continúa a los servidores DNS externos hasta que se encuentra la dirección. Esto permite que el navegador se conecte con el sitio web y muestre el contenido que estaba buscando. Todo esto sucede en cuestión de milisegundos, lo cual es realmente notable.

Echa un vistazo rápido al gráfico de arriba. Como puede ver, las solicitudes enviadas por su computadora se enrutan primero a través del archivo de hosts de su computadora. Si el archivo de hosts tiene guardada la dirección IP del sitio web que solicitó, enviará su navegador directamente a él. Si no es así, dirigirá su navegador a un servidor DNS que debería tener la información requerida.

Basándonos en esto, es lógico concluir que al editar el archivo de hosts podemos omitir el DNS y hacer que cualquier dominio se resuelva en cualquier dirección IP mientras usamos nuestro navegador. La capacidad de hacer esto puede tener una serie de beneficios y ya veremos.

Nota: Antes de profundizar en el archivo de hosts y cómo se puede editar, vale la pena señalar que el archivo de hosts puede ser el objetivo de ataques maliciosos. Debido a esto, vale la pena cambiar sus propiedades a 'solo lectura' cuando haya terminado de realizar modificaciones.

Modificar el archivo de hosts

Modificar el archivo de hosts en su computadora es muy fácil de hacer y puede ser increíblemente útil a veces. Echemos un vistazo a cómo puede modificar fácilmente el archivo de hosts en Windows, Linux y Mac.

Cómo modificar el archivo de hosts en Windows 10

El archivo se puede ubicar en “C:\Windows\System32\drivers\etc”

Ubicación del archivo de hosts - Windows

Al abrir el archivo hosts con un editor de texto como el bloc de notas, verá algo como esto (no olvide "Ejecutar como administrador" cuando se le solicite).

Aloja el contenido del archivo

Debajo del contenido existente (alrededor de la línea 24 en nuestro ejemplo anterior) puede escribir la dirección IP de destino a la que desea llegar, luego un espacio y luego el nombre de dominio. Esto se verá aproximadamente así:

Tenga en cuenta que el símbolo "#" se utiliza para los comentarios. Todo lo que se escriba después del “#” en la misma línea será ignorado. Puede usar esto como una etiqueta para etiquetar ediciones en su archivo de hosts, por ejemplo:

 # my router's alias 192.168.1.1 myrouter.com

Cómo modificar el archivo de hosts en una distribución de Linux

En Ubuntu, por ejemplo, la ruta completa al archivo de hosts es /etc/hosts. Puede abrir el archivo con su editor (usamos el editor Nano en este ejemplo). Ingrese su contraseña de sudo cuando se le solicite.

Ubicación del archivo de hosts: distribución de Linux

Una vez hecho esto, puede agregar líneas como lo hicimos para Windows.

Cómo modificar el archivo de hosts en MacOS

En MacOS, la ruta completa al archivo es /etc/hosts. Después de iniciar una ventana de terminal, abra el archivo de hosts con su editor de texto.

  1. Escriba sudo nano /private/etc/hosts y presione Retorno.
  2. Introduzca la contraseña solicitada. Ahora tendrá el archivo de hosts abierto en el editor Nano.
  3. Navegue por debajo del contenido original en el archivo de hosts y edite el archivo como se describe para Windows y Linux. > dirección IP de destino > un espacio > nombre de dominio
  4. Presiona Control-O para guardar el archivo.
  5. Si los cambios no se muestran, vacíe la memoria caché con > dscacheutil -flushcache

Ahora que entendemos cómo se puede editar el archivo de hosts en su máquina local, echemos un vistazo a algunas cosas útiles que puede hacer con esto.

Razones principales para editar el archivo de hosts

Hay muchas razones por las que es posible que desee editar su archivo de hosts. Revisaremos algunos de ellos a continuación.

Al probar el desarrollo de un sitio web

Supongamos que es un desarrollador de WordPress que trabaja en una nueva versión del sitio web de su cliente que actualmente se encuentra bajo el dominio "mycompany.com". Está realizando cambios en una versión local del sitio web (que se ha guardado en su computadora).

El problema que tendrá es que cualquier referencia en el código al dominio "mycompany.com" hará que su navegador lo lleve a la versión activa del sitio en lugar de a la versión local del sitio, lo que significa que es casi imposible probar el cambios que ha realizado. En este caso tienes algunas opciones:

  1. Compra un dominio temporal y apúntalo a la IP donde se encuentra la versión en desarrollo.
  2. Implemente el sitio en vivo en un servidor de ensayo.
  3. Utilice el archivo de hosts para apuntar temporalmente "mycompany.com" a una dirección IP/servidor diferente localmente.

Entonces, a menos que le guste gastar dinero en dominios temporales, una excelente solución a este problema es usar el archivo de hosts y hacer que el dominio resuelva dónde está o estará su trabajo.

Para hacer esto, todo lo que tiene que hacer es ingresar el nombre de dominio y la IP del servidor en el que está trabajando (como describimos anteriormente). Si, por ejemplo, la dirección IP es 138.201.141.25, editaría el archivo de hosts para que diga:

Lo mismo se aplica si desea agregar el dominio www. Puede hacer esto simplemente agregando una segunda línea como esta:

O combine ambos en la misma línea así:

También tenga en cuenta que el uso del archivo hosts para apuntar a sus archivos locales también aumentará ligeramente la velocidad de su navegación, ya que su computadora puede "pedir" directamente un archivo local y omitir la solicitud de la dirección IP de un servidor DNS y la espera incurrida para recibir su respuesta

Editar el archivo de hosts de esta manera es extremadamente útil para los desarrolladores para probar sus sitios web en desarrollo o realizar otros tipos de trabajo en los que es útil anular los servidores DNS y, al hacerlo, controlar el acceso a los sitios web y el tráfico de red.

bloquear un sitio web

Hay MUCHOS sitios web, muchos de los cuales no son particularmente agradables. Como tal, es posible que desee bloquear el acceso a estos (por ejemplo, si tiene niños que usan su computadora). Esto se puede lograr enrutando la solicitud de un sitio web específico a la dirección IP de su host local (que normalmente es 127.0.0.1).

Sin embargo, debemos señalar que:

  • Los sitios HTTPS no se bloquearán a menos que incluya www en su dirección.
  • Durante estas modificaciones, tenga en cuenta que deberá borrar la memoria caché de su navegador para que estos cambios surtan efecto.

Entonces, por ejemplo, supongamos que desea bloquear el acceso a un sitio web llamado www.badwebsite.com. Para hacer esto, debe ingresar lo siguiente en su archivo de hosts:

 127.0.0.1 badwebsite.com www.badwebsite.com

El resultado de esto será que este sitio web será inaccesible desde su computadora.

También puede usar el archivo hosts para bloquear Spyware/Ad Networks. Para hacer esto, haga una lista de todos los sitios de software espía y nombres de dominio de redes publicitarias que desea bloquear y agréguelos a su archivo de hosts, asignándolos a la dirección IP 127.0.0.1 que siempre apuntará a su máquina. De esa forma, su navegador no podrá acceder a estos dominios.

Una de las ventajas de hacer esto es que, después de bloquear estos sitios no deseados, su navegación será más segura, ya que no podrá acceder a sitios maliciosos conocidos. También puede acelerar su navegación ya que ya no tiene que esperar mientras descarga anuncios de sitios de redes publicitarias.

Conclusión

En resumen, editar el archivo de hosts le brinda un control completo sobre qué dominio se resuelve en qué dirección IP localmente en su máquina. Esto tiene una serie de posibles usos y beneficios. Siempre es bueno tener el control y conocer el archivo host de su computadora le brinda precisamente eso... control. ¡Una herramienta poderosa en verdad!