Проверка ARP Таблицы
В некоторых случаях, бывает полезно просмотреть или даже изменить содержание ARP таблицы, например, когда Вы подозреваете, что двойной адрес причина некоторой сетевой неустойчивости. аrp был сделан для исправления подобных вещей.
Arp [-v] [ -t hwtype ] -a [hostname] arp [-v] [ -t hwtype ] -s hostname hwaddr arp [-v] -d hostname [ hostname ... ]
hostname аргумент может быть как символическим именем, так и IP адресом в dotted quad стандарте.
Первая строка отображает ARP запись для IP адреса или указанного хоста или всех известный хостов, если hostname не дается. Например, вызов arp на vlager может выдать
# 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 опции Вы увидите информацию только о том типе аппаратных средств, который вы укажете. Это может быть ethernet, ax25net, или pronet, стоящие за 10Mbps Ethernet, AMPR AX.25, и IEEE 802.5 token ring оборудование, соответственно.
-s опция используется чтобы добавить Ethernet адрес хоста к ARP таблицам. hwaddr аргумент определяет адрес аппаратных средств, который по умолчанию предполагается Ethernet адресом, указанным как шесть шестнадцатиричных байт, разделяемых двоеточиями. Вы можете также устанавливать адрес аппаратных средств для других типов аппаратных средств, также, используя -t опцию.
Одна из проблем, которая может потребовать, чтобы Вы вручную добавили IP адрес к ARP таблице, когда по некоторым причинам ARP вопросы для удаленного хоста не доходят, например когда глючит ARP драйвер или имеется другой хост в сети которая ошибочно опознает себя с IP адресом того хоста. Твердая установка IP адреса в ARP таблице также (очень решительно) является мерой защиты себя от хостов на вашем Ethernet, которые прикидываются кем-то другим.
Вызов arp с использованием ключа -d удаляет все ARP записи касающиеся данного хоста. Это может быть необходимо, чтобы вынудить интерфейс повторно получить Ethernet адрес для данного IP. Это полезно когда переконфигурированная система имеет неправильную ARP информацию.
- s опция может также использоваться чтобы создать proxy ARP. Это специальная техника когда хост, скажем gate, действует как gateway для другого хоста назовем его fnord, делая вид что оба адреса относят тому же самому хосту, а именно gate. Это делается так: на gate создается ARP запись о fnord, которая указывает на его собственный Ethernet интерфейс. Теперь когда хост посылает ARP запрос о fnord, gate будут возвращать ответ содержащий собственный Ethernet адрес. Спрашивающий хост будет тогда посылать все дэйтаграмы gate, который перенаправит их к fnord.
Эти схема может быть необходима, например, когда Вы хотите работать с fnord из DOS машины с нестандартным TCP, которое плохо работает с маршрутизацией. Когда Вы используете proxy ARP, DOS машине как будет казаться, что fnord находится в локальной подсети, так что ей не требуется что-либо знать относительно маршрутов и gateway.
Другое очень полезное приложение proxy ARP -- когда один из ваших хостов действует как gateway к некоторому другой хост только временно, например по телефону. В предыдущем примере, мы уже столкнулись с laptop vlite, который был связан с vlager через PLIP связь только в небольшом промежутке времени. Конечно, это будет работать только, если адрес хоста для, которого Вы хотите обеспечить proxy ARP, находится на той же самой IP подсети, что и ваш gateway. Например, vstout мог бы быть proxy ARP для любого хоста из подсети Пивоварни (191.72.1.0), но никогда для хоста из подсети Винодельни (191.72.2.0).
Требуемые действия для обеспечения proxy ARP для fnord дается ниже; конечно, Ethernet адрес должен быть от gate.
# arp -s fnord 00:00:c0:a1:42:e0 pub
proxy ARP запись может быть удалена снова используя:
# arp -d fnord