Проверка ARP таблицы

В некоторых ситуациях полезно просмотреть или даже изменить содержание ARP таблицы. Например, если вы подозреваете, что дублированный IP-адрес может быть причиной сетевой нестабильности. Для этих целей была создана утилита arp.

Arp [-v] [ -t hwtype ] -a [hostname]
arp [-v] [ -t hwtype ] -s hostname hwaddr
arp [-v] -d hostname [ hostname ... ]

Аргумент hostname может быть как символическим именем, так и IP-адресом в формате dotted quad.

При вызове arp без аргументов, он отображает ARP записи для указанного IP-адреса или хоста. Если hostname не указан, то будут показаны все известные хосты. Например:

# arp -a
IP address      HW type                 HW address
191.72.1.3      10Mbps Ethernet         00:00:C0:5A:42:C1
191.72.1.2      10Mbps Ethernet         00:00:C0:90:B3:42
191.72.2.4      10Mbps Ethernet         00:00:C0:04:69:AA

Это показывает Ethernet-адреса для хостов vlager, vstout и vale. С использованием опции -t можно уточнить тип сетевого оборудования для отображения.

Опция -s используется для добавления записи в ARP таблицу. Опция -d — для удаления записи.

Одной из проблем, которую можно решить с помощью ручного добавления записи в ARP таблицу, является ситуация, когда запросы ARP для удаленного хоста не достигают его. Это может произойти, например, из-за неполадок в ARP драйвере или если другой хост в сети неправильно идентифицирует себя с IP-адресом целевого хоста. Принудительное добавление IP-адреса в ARP таблицу также может служить мерой защиты от хостов, которые пытаются выдать себя за другие устройства в сети.

Техника proxy ARP позволяет одному хосту действовать от имени другого, делая вид, что оба IP-адреса принадлежат одному и тому же устройству. Это может быть полезно, например, когда вы работаете с хостом из DOS машины с нестандартным TCP/IP стеком, который плохо работает с маршрутизацией. Используя proxy ARP, такой хост будет "думать", что целевой хост находится в его локальной сети, и не будет заботиться о маршрутизации.

Для установки proxy ARP используется следующая команда:

# arp -s fnord 00:00:c0:a1:42:e0 pub

Для удаления proxy ARP записи используется команда:

# arp -d fnord