Команда аг р используется при анализе проблем, связанных с отображениями адресов IP в адреса Ethernet. Команда аг р предоставляет три полезных для целей отладки ключа:

  • - Отобразить все ARP-записи из таблицы.
  • -d имя-узла - Удалить запись из таблицы ARP.
  • -s имя-узла ether-адрес - Добавить запись в таблицу.

Эти три ключа позволяют просматривать содержимое таблицы ARP, удалять проблемную запись, а также устанавливать корректную запись. Возможность установки корректной записи - это полезная «отсрочка», дающая время на поиск постоянного решения.

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

Если вы заподозрили, что две системы используют один и тот же IP-адрес, выведите таблицу разрешения адресов при помощи команды аг р -а. Вот пример для системы Solaris.

% arp -a
Net to Media Table: IPv4
Device IP Address    Mask    Flags Phys Addr
--------------------------------------------
dnetO pecan    255.255.255.255    08:00:20:05:21:33
dnetO horseshoe    255.255.255.255    00:00:0c:e0:80:b1
dnetO crab    255.255.255.255    SP 08:00:20:22:fd:51
dnetO BASE-ADDRESS.MCAST.NET 240.0.0.0    SM 01:00:5e:00:00:00

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

Если же такой записи нет, первые три байта адреса Ethernet помогут обнаружить проблему. Первые три байта адреса идентифицируют производителя устройства. Перечень таких идентификационных префиксов доступен по адресу http://www.iana.org/assignments/ethernet-numbers.

Исходя из префиксов, мы можем видеть, что две записи из таблицы ARP в нашем примере относятся к системам Sun (8:0:20). Предположим, horseshoe должен быть второй системой под управлением системы Sun, и тогда префикс 0:0:0с Cisco показывает, что маршрутизатор Cisco по ошибке получил IP-адрес узла horseshoe.

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