Анализ ARP-трафика в Wireshark: запросы и ответы

ARP использует два типа пакетов: ARP-запрос, отправляемый на широковещательный MAC-адрес, и ARP-ответ, отправляемый методом unicast от целевого хоста к хосту-источнику. Рассмотрим анализ этих пакетов в Wireshark.

Захват пакетов ARP

Для захвата пакетов ARP отключим, а затем включим сетевой интерфейс (например, Wi-Fi-адаптер). Запустим захват пакетов, выбрав соответствующий адаптер. После включения адаптера подождём некоторое время. В фильтре отображения укажем «arp». Остановим захват. Мы увидим несколько ARP-запросов и ответов.

Анализ ARP-запроса

Найдём ARP-запрос, отправленный с нашего MAC-адреса (например, Apple MAC-адрес) на широковещательный MAC-адрес (FF:FF:FF:FF:FF:FF). Запрос содержит вопрос: «Кто имеет IP-адрес 192.168.1.1 (адрес шлюза по умолчанию)? Сообщите 192.168.1.182 (IP-адрес, назначенный DHCP этому компьютеру)».

Рассмотрим структуру этого ARP-запроса:

  • Frame: Описание всего принятого Wireshark фрейма.
  • Ethernet II header: Здесь Destination MAC address установлен в широковещательный адрес (FF:FF:FF:FF:FF:FF), Source MAC address — это MAC-адрес нашего сетевого интерфейса, а поле Type имеет значение 0x0806 (шестнадцатеричное), зарезервированное для протокола ARP. Это указывает на то, что за заголовком Ethernet II следует раздел ARP.
  • ARP section: Этот раздел содержит следующие данные:
    • Hardware type: Ethernet.
    • Protocol type: IPv4. Это означает, что запрос MAC-адреса осуществляется по IPv4-адресу.
    • Sender MAC address и Sender IP address: Адреса нашего компьютера.
    • Target MAC address: Все нули, так как целевой MAC-адрес неизвестен (запрос ARP и служит для его получения).
    • Target IP address: Адрес шлюза по умолчанию (192.168.1.1).

Анализ ARP-ответа

Найдём ответ на этот ARP-запрос. Он должен поступить с MAC-адреса беспроводного маршрутизатора.

В разделе Ethernet II header: Destination MAC address — MAC-адрес нашего компьютера, Source MAC address — MAC-адрес сетевого интерфейса маршрутизатора, а Type — ARP.

В разделе ARP section:

  • Sender MAC address и Sender IP address: MAC-адрес и IP-адрес беспроводного маршрутизатора (шлюза по умолчанию).
  • Target MAC address и Target IP address: MAC-адрес и IP-адрес нашего компьютера.

ARP-ответ отправляется напрямую на наш компьютер с помощью unicast ethernet фрейма. Wireshark отобразит информацию: IP-адрес 192.168.1.1 находится по MAC-адресу (например, 98:XX:XX:XX:XX:D8).

ARP-кэш

После получения ARP-ответа компьютер имеет запись о связке удалённого IP-адреса и MAC-адреса в локальном ARP-кэше. Проверить записи ARP-кэша можно командой arp -a в командной строке. Первая строка покажет запись, полученную с помощью протокола ARP: IP-адрес 192.168.1.1 связан с полученным MAC-адресом. В кэше могут быть и другие записи, например, для широковещательного адреса сети и мультиадресных IP-адресов.

Что будем искать? Например,программа