Computacion

Powered By Blogger

domingo, 7 de marzo de 2010

Acerca de ARP.

ARP significa Address Resolution Protocol, o protocolo de resolución de direcciones. ARP se utiliza para supervisar y modificar la tabla de asignaciones de direcciones IP y direcciones MAC (Media Access Control). ARP utiliza un cache que consiste en una tabla que almacena las asignaciones entre nivel de enlace de datos y las direcciones IP del nivel de red. El nivel de enlace de datos se encarga de gestionar las direcciones MAC y el nivel de red de las direcciones IP. ARP asocia direcciones IP a las direcciones MAC, justo a la inversa del protocolo RARP que asigna direcciones MAC a las direcciones IP. Para reducir el número de peticiones ARP, cada sistema operativo que implementa el protocolo ARP mantiene una cache en la memoria RAM

de todas las recientes asignaciones.

Procedimientos.

Visualizar el cache ARP actual.

arp -a

Debe devolver algo similar a lo siguiente, en el caso de tratarse de un solo sistema:

m254.alcancelibre.org (192.168.1.254) at 00:14:95:97:27:E9 [ether] on eth0

Cuando se trata de un servidor intermediario (proxy), la tabla puede verse de este modo:

m051.redlocal.net (10.1.1.51) at 00:13:20:D0:09:1E [ether] on eth1
m046.redlocal.net (10.1.1.46) at 00:0F:1F:B1:71:14 [ether] on eth1
m073.redlocal.net (10.1.1.73) at 00:11:25:F6:93:F1 [ether] on eth1
m070.redlocal.net (10.1.1.70) at 00:11:25:F6:A2:52 [ether] on eth1
m040.redlocal.net (10.1.1.40) at 00:0D:60:6E:27:34 [ether] on eth1
m036.redlocal.net (10.1.1.36) at 00:0D:60:6E:25:FB [ether] on eth1
m011.redlocal.net (10.1.1.11) at 00:11:2F:C7:D0:D7 [ether] on eth1

El mandato arp acepta varias opciones más. Si se desea visualizar la información en estilo Linux, se utiliza el parámetro -e. ejemplo:

arp -e

Lo anterior debe devolver una salida similar a la siguiente:

Address                  HWtype  HWaddress           Flags Mask            Iface
m051.redlocal.net ether 00:13:20:D0:09:1E C eth1
m046.redlocal.net ether 00:0F:1F:B1:71:14 C eth1
m073.redlocal.net ether 00:11:25:F6:A2:52 C eth1
m070.redlocal.net ether 00:11:25:F6:95:8E C eth1
m040.redlocal.net ether 00:0D:60:6E:26:6F C eth1
m036.redlocal.net ether 00:11:25:F6:5F:81 C eth1

Si se desea observar lo anterior en formato numérico, se utiliza el parámetro -n. ejemplo:

arp -n

Lo anterior debe devolver algo similar a lo siguiente:

Address                  HWtype  HWaddress           Flags Mask            Iface
10.1.1.46 ether 00:0F:1F:B1:71:14 C eth1
10.1.1.70 ether 00:11:25:F6:A2:52 C eth1
10.1.1.73 ether 00:11:25:F6:93:F1 C eth1
10.1.1.40 ether 00:0D:60:6E:27:34 C eth1
10.1.1.34 ether 00:0D:60:6E:26:6F C eth1

Si se desea especificar una interfaz en particular, se utiliza el parámetro -i seguido del nombre de la interfaz. Ejemplo:

arp -i eth0

Lo anterior debe regresar algo similar a lo siguiente, en el caso de tratarse de un solo sistema:

Address                  HWtype  HWaddress           Flags Mask            Iface
m254.alcancelibre.org ether 00:14:95:97:27:E9 C eth0

Si se desea añadir un registro manualmente, se puede hacer utilizando el parámetro -s seguido del nombre de un anfitrión y la dirección MAC correspondiente. Ejemplo:

arp -s m200.redlocal.net 00:08:A1:84:18:AD

Si se quiere eliminar un registro de la tabla, solo se utiliza el parámetro -d seguido del nombre del anfitrión a eliminar. Ejemplo:

arp -d m200.redlocal.net

Para limpiar todo el cache, se puede utilizar un bucle como el siguiente:

for i in `arp -n | awk '{print $1}' | grep -v Address`
do
arp -d $i
done

En el guión anterior se pide crear la variable i a partir de arp con la opción -n para devolver las direcciones numéricas, mostrando a través de awk solo la primera columna de la tabla generada, y eliminando la cadena de caracteres Address. Esto genera una lista de direcciones IP que se asignan como valores de la variable i en el bucle, donde se elimina cada una de estas direcciones IP utilizando arp -d.

El objeto de limpiar el cache de ARP es permitir corregir los registros de la tabla en ciertos escenarios donde, por ejemplo, un servidor o estación de trabajo fue encendido con una dirección IP que ya está uso.

No hay comentarios:

Publicar un comentario