Cómo usar el comando arping en Linux

fatmawati achmad zaenuri/Shutterstock.com
linux arping el orden 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 puedo. Aquí se explica cómo usarlo.

El protocolo ARP

Una dirección IP es una etiqueta numérica para un dispositivo en red. Se utiliza como dirección para que el tráfico de red correcto llegue al dispositivo correcto. Pero la mayoría de los dispositivos en las redes locales tienen direcciones IP dinámicas. En otras palabras, su dirección IP bien puede cambiar en el próximo arranque. Para enrutar correctamente el tráfico de red al dispositivo correcto, se debe usar 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 una dirección lógica. La dirección MAC es una dirección física. El Protocolo de resolución de direcciones es el intermediario que asigna direcciones IP a direcciones MAC. El dispositivo responsable de clasificar y dirigir los paquetes de red en su red, generalmente el enrutador, crea y mantiene una tabla ARP que relaciona las direcciones IP con las direcciones MAC. Si el enrutador necesita enrutar datos a un dispositivo que no sabe que existe, 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 esto no es suficiente para enrutar el tráfico hacia él. El enrutador necesita obtener la dirección MAC, que es la pieza faltante del rompecabezas. Pero dado que la dirección IP por sí sola no es información suficiente para enrutar paquetes al dispositivo, el 22 capturas ¿Es imposible 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 en una serie de capas. Las capas superiores no pueden funcionar sin las capas inferiores. Hay siete capas en el modelo OSI.

  • La capa 7 es la capa más alta, la solicitud acostada. Proporciona información al usuario de la computadora y recibe información de él.
  • La capa 6 es la Presentación acostada. Esto garantiza que los datos estén en el formato correcto o en el estado correcto a medida que viajan hacia y desde el formato de red. El cifrado y el descifrado tienen lugar en esta capa.
  • La capa 5 es la sesión acostada. Una sesión es una conexión de red entre dos o más dispositivos. Esta capa se ocupa de problemas como el establecimiento de una conexión, el establecimiento de un enlace, los tiempos de espera y la ruptura de conexiones que ya no son necesarias.
  • La capa 4 es la transportación acostada. Esta es la capa que mueve los datos a través de la red de forma coordinada. Esta capa se trata de cosas como tasas de transferencia y volúmenes de datos. El Protocolo de Control de Transmisión (TCP en TCP/IP) opera en esta capa.
  • La capa 3 es la la red acostada. Aquí es donde tiene lugar el enrutamiento y el reenvío de paquetes. Esta es la capa en la que opera el Protocolo de Internet (la IP en TCP/IP).
  • La capa 2 es la enlace de datos acostada. Se utiliza para enviar paquetes entre dispositivos directamente direccionables mediante transmisiones a cada dispositivo o unidifusiones a direcciones MAC específicas.
  • La capa 1 es la físico acostada. 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 este 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 la dirección MAC se ha establecido y registrado.

El control de arpegio

Todas las cosas inteligentes de ARP suceden automáticamente en segundo plano, creando y manteniendo la tabla ARP. el arping El comando trae parte de la funcionalidad de la solicitud ARP a la ventana del terminal. Opera en el nivel dos de OSI y puede solicitar una respuesta de un dispositivo cuando ping no hace. 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

En Manjaro debes escribir:

sudo pacman -Sy arping

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

sudo arping 192.168.1.17

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 completar. Compare la salida con la del ping comando, abajo. el ping El comando devuelve más información sobre el tiempo de ida y vuelta del paquete de red. el arping El comando le brinda menos estadísticas de sincronización, pero incluye la dirección MAC del dispositivo.

ping 192.168.1.17

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

sudo arping fedora-36.local

Puedes usar el -c (contar) posibilidad de decir arping detenerse después de un cierto número de solicitudes. Este comando indica arping inténtalo dos veces y luego detente.

sudo arping -c 2 192.168.1.18

Si tiene varias interfaces de red en su computadora, puede usar el -I (interfaz) opción para decir arping qué interfaz utilizar. Puedes usar el ip link Comando para enumerar sus interfaces de red.

ip link

Esta computadora tiene tres interfaces. el lo La interfaz virtual se utiliza como loopback para conexiones internas entre software en la misma computadora. Aquí no nos sirve. Podemos utilizar tanto la conexión Ethernet enp3s0 o interfaz inalámbrica wlan0. Este comando indica arping usar la interfaz que elijamos, y no hacer su propia selección.

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

Uso de arpegios en scripts

por envolver 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 en el rango que desea usar arping a. 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 puede acceder a los parámetros dentro del script como $1 y $2. Estos se utilizan en un estilo C for hebilla. Con cada rotación de la for hebilla, $device se establece en la siguiente dirección IP en el rango. El script usa el mismo arping -c formato que hemos visto antes, pero esta vez solo solicitamos que se envíe una solicitud ARP a cada dispositivo en el rango. la salida de arping el comando se canaliza a través de grep. el grep la sintaxis se puede simplificar en su secuencia de comandos. grep busca 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. Ya sea grep encuentra una de estas oraciones, su valor de salida será cero. Cuando sepas cuál de las oraciones es tu versión de arping usos, puede simplificar el grep sintaxis eliminando la otra oración. el if pruebas de instrucción $?– una variable que contiene el código de salida del último proceso que terminó – para ver si es cero. Si es así, utiliza echo para imprimir un mensaje de éxito en la ventana del 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 orden y el +x opción.

chmod +x scan-range.sh

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

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

Obtenemos una combinación de aciertos y errores, como lo haría en cualquier red. Pero tenga en cuenta que aunque el dispositivo en 192.168.1.15 responde a la solicitud ARP de capa dos, no responde a la capa tres ping preguntando por. Si hubiera hecho ping al dispositivo y notado la falla, probablemente se sentiría inclinado a verificar que estaba enchufado, en línea y si pudiera ping fuera del dispositivo 192.168.1.15. Pero con arping puede verificar que está conectado, en línea y accesible por la red. Esto guiaría su solución de problemas para comenzar a buscar problemas de enrutamiento y tabla ARP.

Análisis mas extenso

La cebolla de redes tiene muchas capas. Ya sea ping no te lleva a ninguna parte, suelta una capa y mira qué arping te puedo decir

Índice
  1. El protocolo ARP
  2. El control de arpegio
  3. Uso de arpegios en scripts
  4. Análisis mas extenso

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir