Métodos de pago Abuse

Escaneo ARP de la red local Linux

08.06.2024, 15:00

A menudo necesitas saber qué dispositivos están conectados a tu red. Este es el caso si quieres conectarte a uno de tus PCs y no tienes una idea clara de su dirección, o si simplemente quieres asegurarte de que tu red es segura o no, o si quieres encontrar todos los dispositivos ocultos. Puedes encontrar todos los dispositivos conectados, incluyendo los ocultos, utilizando el escaneo ARP.

Qué es ARP

ARP (Address Resolution Protocol) es un protocolo utilizado en redes informáticas para la comunicación entre nodos de red. Se utiliza para asignar las direcciones IP de los dispositivos de red a sus direcciones MAC físicas. Cuando un nodo de una red quiere enviar datos a otro nodo, utiliza ARP para determinar la dirección MAC del destinatario basándose en su dirección IP.

En Linux, la tabla ARP se almacena en RAM y contiene las coincidencias entre las direcciones IP y las direcciones MAC de otros dispositivos de la red. Puede ver el contenido de la tabla ARP en Linux utilizando el comando arp -a. Linux proporciona herramientas para realizar operaciones ARP, como añadir entradas ARP estáticas o borrar la caché ARP. ARP es un elemento importante en el funcionamiento de las redes TCP/IP y juega un papel crucial en la comunicación entre dispositivos en una red local.

Escaneando con ARP

Cada red de ordenadores tiene una dirección IP - todo el mundo lo sabe. ¿Te has preguntado alguna vez a qué ordenador se le asigna una dirección concreta? Es sabido que existen diferentes redes - cableadas, inalámbricas, ppp. En cada red, la dirección de hardware de la máquina de computación tiene un formato diferente, que depende de las características de diseño de la red local.

Vamos a explicarlo, en realidad todo es muy sencillo. Para convertir la dirección física a IP se proporciona ARP, en pocas palabras, es un protocolo de resolución de direcciones. Cuando un ordenador entra en la red, hace una petición a los otros PCs, y hace la pregunta - ""¿Quién tiene la dirección IP XXX.XXX.X.X.X"". La respuesta no se ignora, pero tiene un aspecto algo diferente: "Yo la tengo, mi dirección es xx:xx:xx:xx:xx:xx". Es decir, se envía una dirección física como respuesta. Esta dirección se introduce en una tabla especial.

Hay que decir que el formato de los mensajes ARP es extremadamente sencillo. El mensaje esconde una solicitud con una dirección IP o una respuesta. El tamaño del mensaje depende del protocolo - IPv4 o IPv6, del tipo de equipo de red. La cabecera del mensaje especifica los tipos y tamaños de estos mensajes. La cabecera termina con un código de mensaje. Para una solicitud, el código es 1, y para una respuesta, el código es 2. El cuerpo del mensaje contiene las cuatro direcciones, de hardware y de red, pertenecientes al emisor y al receptor.

Instalación de la utilidad

La utilidad ARP Scan, también llamada MAC Scanner, es una herramienta práctica y funcional para escanear una red local Linux utilizando ARP. El programa muestra las direcciones Pv4 de los dispositivos de red. La peculiaridad de ARP es que no implica enrutamiento. Este tipo de exploración sólo es adecuado para redes locales. El programa detecta los dispositivos activos, los ordenadores no pueden esconderse de ARP. Si es necesario detectar un ordenador fuera de la red local, se utiliza la exploración ping.

Network Scanner está disponible para los siguientes sistemas operativos:

  1. Debian;
  2. Ubuntu;
  3. Fedora;
  4. RedHat;
  5. Gentoo;
  6. ArchLinux.

Para instalar, realizaremos:

$ sudo apt install arp-scan

Escanear

Con la ayuda del programa podrás encontrar todos los ordenadores activos tanto en redes ethernet cableadas como en redes inalámbricas Wifi. No se proporcionan las conexiones PPP y SLIP, ya que no hay ARP en ellos. Debe trabajar con la utilidad bajo derechos de superusuario.

Al principio averiguamos la interfaz de red usando el programa ip:

$ ip addr list

APR сканирование

Aquí vemos enp24s0. La forma más fácil de hacerlo con ARP, escaneando y saliendo de cada PC conectado a la red - ejecute el programa estableciendo los parámetros:

$ sudo arp-scan --interface=enp24s0 --localnet

APR сканирование

Vemos el parámetro --interface, especificando la interfaz de escaneo, y --localnet, indicando aplicar todas las direcciones IP posibles para la red actual.

Si omitimos el primer parámetro, el programa buscará todos los nodos para la interfaz con el número más bajo del sistema. En nuestro caso es enp24s0.

En lugar del parámetro --localnet, se puede especificar la máscara de red:

$ sudo arp-scan --interface=enp24s0 10.0.1.0/24

ARP también es adecuado si la interfaz no tiene su propia dirección IP. En este caso, la dirección saliente es 0.0.0.0. Pero no todos los sistemas responderán a tal petición Por lo tanto, en esta situación, el escáner será ineficaz.

Por qué ARP no funciona

Hay varias razones por las que ARP puede no funcionar correctamente en una red. Algunos de los problemas más comunes incluyen:

  1. Conflicto de direcciones IP: Si dos dispositivos en la red están usando la misma dirección IP, esto puede causar un conflicto ARP.
  2. Configuración incorrecta de la red: Un direccionamiento IP incorrecto, subredes o configuración de la puerta de enlace pueden causar que ARP falle.
  3. Problemas de hardware de red: Los switches, routers o NICs defectuosos pueden causar un mal funcionamiento de ARP.
  4. Las configuraciones de seguridad o filtrado de los dispositivos de red pueden bloquear los paquetes ARP.
  5. Los atacantes pueden utilizar ataques como ARP poisoning o ARP flooding, que también pueden causar problemas de ARP en la red.

Para diagnosticar y solucionar problemas de ARP, se recomienda comprobar la configuración del hardware de red, analizar la configuración de direccionamiento IP y utilizar herramientas para supervisar y analizar el tráfico de red.