Cómo usar el comando arping en Linux

fatmawati achmad zaenuri / Shutterstock.com

el linux arping el comando es como ping, pero solo para redes locales. Su ventaja es que opera en un nivel de red más bajo, a veces obteniendo respuestas cuando ping no poder. Aquí se explica cómo usarlo.

Índice de contenidos
  1. El protocolo ARP
  2. El comando arpista
  3. Uso de arping en secuencias de comandos
  4. Una visión más profunda

El protocolo ARP

Una dirección IP es una etiqueta numérica para un dispositivo en red. Se usa como una dirección para que el tráfico de red apropiado llegue al dispositivo correcto. Pero la mayoría de los dispositivos en redes de área local tienen dinámica Direcciones IP. Es decir, su dirección IP bien podría cambiar la próxima vez que se inicien.

Para poder enrutar correctamente el tráfico de red al dispositivo apropiado, se debe emplear un esquema que asigne direcciones IP a direcciones de control de acceso a medios (MAC). La dirección MAC es una identidad única establecida en el punto de fabricación de un dispositivo. Una dirección IP es un lógico Dirección. La dirección MAC es una físico Dirección.

El Protocolo de resolución de direcciones es el intermediario que asigna direcciones IP a direcciones MAC. El dispositivo responsable de ordenar y dirigir los paquetes de red en su red (por lo general, el enrutador) crea y mantiene una tabla ARP que vincula las direcciones IP con las direcciones MAC.

Si el enrutador necesita enrutar datos a un dispositivo que no conoce, realiza una solicitud ARP para obtener la dirección MAC del nuevo dispositivo.

Cuando se conecta un nuevo dispositivo a su red, se le asigna una dirección IP, pero eso no es suficiente para enrutar el tráfico hacia él. El enrutador necesita obtener la dirección MAC, que es la pieza que falta en el rompecabezas. Pero debido a que la dirección IP por sí sola no es información suficiente para enrutar paquetes al dispositivo, Catch-22 no puede usar la dirección IP para consultar el hardware para obtener la dirección MAC.

El modelo de interconexión de sistemas abiertos agrupa las tecnologías que componen una red de trabajo como una serie de capas. Las capas superiores no pueden operar sin las capas inferiores. Hay siete capas en el modelo OSI.

  • La capa 7 es la capa superior, la solicitud capa. Proporciona información al usuario de la computadora y recibe información de ellos.
  • La capa 6 es la presentación capa. Esto asegura que los datos estén en el formato o estado correcto a medida que se mueven hacia y desde el formato de red. El cifrado y el descifrado tienen lugar en esta capa.
  • La capa 5 es la sesión capa. Una sesión es una conexión de red entre dos o más dispositivos. Esta capa se ocupa de cuestiones tales como el inicio de una conexión, un apretón de manos, tiempos de espera y la ruptura de conexiones que ya no son necesarias.
  • La capa 4 es la transporte capa. Esta es la capa que mueve los datos por la red de forma coordinada. Esta capa se ocupa de cosas como las tasas de transferencia y los volúmenes de datos. El Protocolo de control de transmisión, el TCP en TCP/IP, opera en esta capa.
  • La capa 3 es la la red capa. Aquí es donde tiene lugar el enrutamiento y el reenvío de paquetes. Es la capa en la que opera el Protocolo de Internet, la IP en TCP/IP.
  • La capa 2 es la enlace de datos capa. Se utiliza para enviar paquetes entre dispositivos direccionables directamente mediante transmisiones a cada dispositivo o unidifusión a direcciones MAC específicas.
  • La capa 1 es la físico capa. Esto se refiere a la infraestructura física, incluido el cableado, los enrutadores y los conmutadores de red. Las ondas de radio utilizadas en Wi-Fi también entrarían en esta categoría.

Cuando el enrutador recibe un paquete para una dirección IP que no está en su tabla, envía un paquete de difusión a toda la red. Efectivamente pregunta "¿Quién tiene esta dirección IP?" Este es un mensaje de capa dos, por lo que no depende del enrutamiento IP.

El dispositivo con la dirección coincidente responde devolviendo su dirección MAC. La dirección IP y la dirección MAC de ese dispositivo se pueden agregar a la tabla de mapeo. El tráfico IP normal ahora se puede enrutar al dispositivo porque la relación entre su dirección IP y su dirección MAC se ha establecido y registrado.

RELACIONADO: La Fundación de Internet: TCP/IP cumple 40 años

El comando arpista

Todas las cosas inteligentes de ARP se activan automáticamente en segundo plano, construyendo y manteniendo la tabla ARP. los arping El comando trae parte de la funcionalidad de la consulta ARP a la ventana del terminal. Opera en la capa dos de OSI y puede solicitar una respuesta de un dispositivo cuando ping no es.

En Fedora 36, arping ya estaba instalado, pero necesitábamos instalarlo en Manjaro 21 y Ubuntu 22.04.

En Ubuntu el comando es:

sudo apt install arping

Instalación de arp en Ubuntu

En Manjaro necesitas escribir:

sudo pacman -Sy arping

Instalación de arping en Manjaro

La forma más sencilla de usar arping es con una dirección IP. Esta debe ser la dirección de un dispositivo direccionable directamente, conectado a la red local. Porque arping opera en la capa dos, no es posible el enrutamiento. Tendrás que usar sudo con arping.

sudo arping 192.168.1.17

Usar arping con una dirección IP

Presione Ctrl + C para detener. La información devuelta es la dirección MAC del dispositivo que responde, el número de índice del arping solicitud, y el tiempo de ida y vuelta para el arping solicitud para ser completada.

Compare la salida con la del ping comando, abajo. los ping El comando devuelve más información sobre la temporización del viaje de ida y vuelta del paquete de red. los arping El comando le brinda menos estadísticas de tiempo, pero incluye la dirección MAC del dispositivo.

ping 192.168.1.17

Usar ping con una dirección IP

También puede utilizar el nombre de red del dispositivo con arping.

sudo arping fedora-36.local

Usar arping con una dirección IP

Puedes usar el -c (contar) opción de contar arping detenerse después de un número determinado de solicitudes. Este comando dice arping intentarlo dos veces y luego parar.

sudo arping -c 2 192.168.1.18

Usando la opción -c para decirle a arping que se detenga después de hacer dos solicitudes

Si tiene varias interfaces de red en su computadora, puede usar el -I (interfaz) opción para contar arping qué interfaz utilizar.

Puedes usar el ip link Comando para enumerar sus interfaces de red.

ip link

Usando ip link para listar las interfaces de red

Esta computadora tiene tres interfaces. los lo La interfaz virtual se utiliza como bucle invertido para conexiones internas entre software en la misma computadora. Aquí no nos sirve. Podemos usar la conexión ethernet enp3s0 o la interfaz inalámbrica wlan0.

Este comando dice arping para usar la interfaz que elijamos, y no para hacer su propia selección.

sudo arping -c 2 -I enp3s0 manjaro-21.local

Usar la opción -I para decirle a arping que use una interfaz de red específica

Uso de arping en secuencias de comandos

Envolviendo arping en un bucle en un script, podemos hacer que funcione en un rango de direcciones IP. Copie el texto de este script y guárdelo en un archivo llamado "scan-range.sh".

Deberá editar el script y reemplazar todas las apariciones de 192.168.1 con la dirección IP de su red.

#!/bin/bash

for ((device=$1; device<=$2; device++))
do

  arping -c 1 192.168.1.$device | grep -E "1 response|1 packets received" > /dev/null

    if [ $? == 0 ]; then
      echo "192.168.1.$device responded."      
    else
      echo "192.168.1.$device didn't respond."
  fi
  
done

El script acepta dos parámetros de línea de comandos. Estos se usan como el último octeto de las direcciones IP del rango que desea usar arping en. Entonces, si pasa 20 y 30 al script, el ciclo comenzará en 192.168.1.20 y terminaría después de usar la dirección IP 192.168.1.30.

Se accede a los parámetros dentro del script como $1 y $2. Estos se utilizan en un estilo C for círculo. En cada giro de la for círculo, $device se establece en la siguiente dirección IP en el rango.

El script usa el mismo arping -c formato que ya hemos visto, pero esta vez solo solicitamos que se envíe una única solicitud ARP a cada dispositivo en el rango.

La salida del arping el comando se canaliza a través grep.

los grep la sintaxis se puede simplificar en su secuencia de comandos. grep está buscando una de dos cadenas, ya sea "1 respuesta" o "1 paquete recibido". Esto se debe a que las computadoras de prueba tenían diferentes versiones de arping sobre ellos y utilizan una terminología diferente. Si grep encuentra cualquiera de estas frases, su valor de salida será cero.

Cuando sepas cuál de las frases es tu versión de arping usos, puede simplificar el grep sintaxis eliminando la otra frase.

los if pruebas de declaraciones $?: una variable que contiene el código de salida del último proceso que finalizó, para ver si es cero. Si lo es, utiliza echo para imprimir un mensaje de éxito en la ventana de terminal. Si la prueba falla entonces grep no encontró ninguna de las cadenas, lo que significa que la solicitud ARP falló.

Haga que su script sea ejecutable usando el chmod comando y el +x opción.

chmod +x scan-range.sh

Usando la opción chmod + x para hacer que el script sea ejecutable

Lo ejecutaremos y escanearemos el rango de IP de 15 a 20. Algunas de estas direcciones no tienen dispositivos conectados, por lo que deberíamos ver algunas fallas. Recuerda usar sudo . También intentaremos ping el dispositivo en 192.168.1.15.

sudo ./scan-range.sh 15 20
ping 192.168.1.15

Ejecutando el script y ejecutando ping

Obtenemos una mezcla de éxitos y fracasos, como lo harías en cualquier red. Pero tenga en cuenta que aunque el dispositivo en 192.168.1.15 responde a la solicitud ARP de la capa dos, no responde a la capa tres. ping solicitud.

Si hubiera hecho ping al dispositivo y notado la falla, probablemente se sentiría inclinado a comprobar que estaba enchufado, en línea y si podía ping afuera del dispositivo 192.168.1.15.

Pero con arping puede verificar que esté conectado, en línea y accesible a través de la red. Eso guiaría su solución de problemas para comenzar a buscar problemas de enrutamiento y tabla ARP.

Una visión más profunda

Hay muchas capas en la cebolla de redes. Si ping no te lleva a ninguna parte, baja una capa y mira qué arping te puedo decir

RELACIONADO: Cómo administrar redes Wi-Fi de Linux con Nmtui

Descubre más contenido

Subir Change privacy settings