Протокол разрешения адресов обычно используется для определения MAC-адреса. ARP — это протокол канального уровня, но он используется, когда IPv4 используется через Ethernet.
Зачем нам нужен ARP?
Давайте разберемся на простом примере.
У нас есть один компьютер [PC1] с IP-адресом 192.168.1.6, и мы хотим отправить эхо-запрос на другой компьютер [PC2], чей IP адрес 192.168.1.1. Теперь у нас есть MAC-адрес ПК1, но мы не знаем MAC-адрес ПК2, а без MAC-адреса мы не можем отправить ни один пакет.
Теперь давайте посмотрим шаг за шагом.
Примечание. Откройте команду в административном режиме.
Шаг 1: Проверьте существующий ARP на ПК1. Выполните arp –a в командной строке, чтобы увидеть существующую запись ARP.
Вот скриншот
Шаг 2: Удалите запись ARP. Выполните команду arp –d в командной строке. Затем выполните arp –a , чтобы убедиться, что записи ARP удалены.
Вот скриншот
Шаг 3: Откройте Wireshark и запустите его на ПК1.
Шаг 2: Выполните следующую команду на ПК1.
Шаг 3: Теперь проверка связи должна быть успешной.
Вот скриншот
Остановите Wireshark.
Теперь мы проверьте, что происходит в фоновом режиме, когда мы удаляем запись arp и пингуем на новый IP-адрес.
На самом деле, когда мы пингуем 192.168.1.1, перед отправкой пакета запроса ICMP произошел обмен пакетами запроса ARP и пакета ответа ARP. Итак, ПК1 получил MAC-адрес ПК2 и смог отправить пакет ICMP.
Подробнее об ICMP см. Здесь
Анализ в Wireshark:
Типы пакетов ARP:
- Запрос ARP.
- Ответ ARP.
Есть два других типа запроса RARP и ответа RARP, но они используются в определенных случаях .
Вернемся к нашему эксперименту.
Мы выполнили пинг до 192.168.1.1, поэтому перед отправкой запроса ICMP ПК1 должен отправить широковещательный запрос ARP и ПК2 должны отправлять одноадресный ответ ARP .
Вот важные поля для запроса ARP.
Итак, мы понимаем, что основная цель ARP-запроса — получить MAC-адрес ПК2.
Теперь давайте посмотрим ответ ARP в Wireshark.
Ответ ARP отправляется ПК2 после получения запроса ARP.
Вот важные поля ответа ARP.
Из этого ответа ARP мы видим, что ПК1 получил MAC-адрес ПК2 и обновил таблицу ARP.
Теперь пинг должен быть успешным, так как ARP был разрешен.
Вот пакеты ping
Другие важные пакеты ARP:
RARP: противоположность нормальному ARP, который мы обсуждали. Это означает, что у вас есть MAC-адрес ПК2, но нет IP-адреса ПК2. В некоторых конкретных случаях требуется RARP.
Gratuitous ARP: Когда система получает IP-адрес после того, как эта система может отправить бесплатный ARP, информируя сеть о том, что у меня есть этот IP. Это сделано для того, чтобы избежать конфликта IP-адресов в одной сети.
Proxy ARP: Из названия мы можем понять, что когда одно устройство отправляет запрос ARP и получает ответ ARP но не образуют фактическое устройство. Это означает, что кто-то отправляет ответ ARP о поведении исходного устройства. Это реализовано из соображений безопасности.
Резюме:
Обмен ARP-пакетами происходит в фоновом режиме всякий раз, когда мы пытаемся получить доступ к новому IP-адресу