Найти в Дзене
Мои заметки о ПК

Как устроен ARP-пакет (WireShark)

Начнём с настройки сети. Создадим сеть, состоящую из 1 коммутатора и 2 компьютеров. (Рисунок 1) Зададим первому компьютеру IP-адрес 192.168.0.2 и шлюз 192.168.0.1 с маской подсети 255.255.255.0 (Рисунок 2) Зададим второму компьютеру IP-адрес 192.168.0.3 и шлюз 192.168.0.1 с маской подсети 255.255.255.0 (Рисунок 3) Теперь, воспользовавшись утилитой WireShark, перехватим и проанализируем ARP-пакеты. Для этого, щёлкнем правой клавишей мышки по кабелю, и выберем «Start capture». (Рисунок 4) Воспользуемся утилитой ping на ПК-1 и проверим доступность ПК-2. Видим, что ПК-1 получил ICMP-ответ от ПК-2, следовательно, сеть настроена верно и работает. (Рисунок 5) В утилите WireShark мы видим, что перехваченные пакеты (Рисунок 6). Так как нас интересуют лишь ARP-пакеты, отфильтруем список (Рисунок 7). Сперва рассмотрим ARP-запрос. Теперь рассмотрим ARP-ответ.
Оглавление

Начнём с настройки сети. Создадим сеть, состоящую из 1 коммутатора и 2 компьютеров. (Рисунок 1)

Рисунок 1 - Сеть
Рисунок 1 - Сеть

Зададим первому компьютеру IP-адрес 192.168.0.2 и шлюз 192.168.0.1 с маской подсети 255.255.255.0 (Рисунок 2)

Рисунок 2 - Настройки ПК-1
Рисунок 2 - Настройки ПК-1

Зададим второму компьютеру IP-адрес 192.168.0.3 и шлюз 192.168.0.1 с маской подсети 255.255.255.0 (Рисунок 3)

Рисунок 3 - Настройки ПК-2
Рисунок 3 - Настройки ПК-2

Теперь, воспользовавшись утилитой WireShark, перехватим и проанализируем ARP-пакеты.

Для этого, щёлкнем правой клавишей мышки по кабелю, и выберем «Start capture». (Рисунок 4)

Рисунок 4
Рисунок 4

Воспользуемся утилитой ping на ПК-1 и проверим доступность ПК-2.

Видим, что ПК-1 получил ICMP-ответ от ПК-2, следовательно, сеть настроена верно и работает. (Рисунок 5)

Рисунок 5 – Выполнение утилиты ping
Рисунок 5 – Выполнение утилиты ping

В утилите WireShark мы видим, что перехваченные пакеты (Рисунок 6).

Рисунок 6 – Перехваченный трафик
Рисунок 6 – Перехваченный трафик

Так как нас интересуют лишь ARP-пакеты, отфильтруем список (Рисунок 7).

Рисунок 7 – Отфильтрованный список
Рисунок 7 – Отфильтрованный список

Сперва рассмотрим ARP-запрос.

Рисунок 8 – Содержимое ARP-запроса
Рисунок 8 – Содержимое ARP-запроса
  • Пакет начинается с МАС-адреса получателя (красный прямоугольник на рисунке 8), так как он ещё не известен, используется широковещательный МАС-адрес (Broadcast – ff:ff:ff:ff:ff:ff).
  • Затем идёт МАС-адрес отправителя -00:50:79:66:68:00 (зелёный прямоугольник на рисунке 8).
  • За ним следует идентификатор протокола ARP равный 0x0806 (жёлтый прямоугольник на рисунке 8).
  • Следом идёт идентификатор оборудования, в данном случае Ethernet (фиолетовый прямоугольник на рисунке 8), вместе с ним приходит идентификатор протокола IPv4, равный 0x0800 (жёлтый прямоугольник на рисунке 8).
  • Hardware size (чёрный прямоугольник на рисунке 8) содержит в себе размер аппаратного адреса (Для Ethernet это будет шесть октетов (48 бит)).
  • Protocol size (розовый прямоугольник на рисунке 8) содержит в себе размер адреса сетевого протокола (Для IPv4 это будет четыре октета (32 бита)).
  • Затем мы видим код операции ARP (синий прямоугольник на
    рисунке 8): 0001 для запроса ARP или 0002 для ответа ARP.
  • Затем снова следует МАС-адрес отправителя (зелёный прямоугольник на рисунке 8). И за ним IP-адрес отправителя (голубой прямоугольник на рисунке 8) представленный в шестнадцатеричном виде: c0.a8.00.02.
  • Затем следует МАС-адрес получателя (красный прямоугольник на рисунке 8), так как он ещё не известен, используется широковещательный МАС-адрес (Broadcast – ff:ff:ff:ff:ff:ff) и его IP-адрес в шестнадцатеричном виде: c0.a8.00.03
  • Затем идёт наполнение ARP пакета до минимальной длины фрейма (64 байта).
  • И всё завершается контрольной суммой пакета (синий прямоугольник на рисунке 8). В данном случае проверка на целостность отсутствует.

Теперь рассмотрим ARP-ответ.

Рисунок 9 – Содержимое ARP-ответа
Рисунок 9 – Содержимое ARP-ответа
  • Пакет начинается с МАС-адреса получателя (красный прямоугольник на рисунке 9), равный МАС-адресу ПК-1 00:50:79:66:68:00
  • Затем идёт МАС-адрес отправителя - 00:50:79:66:68:01 (зелёный прямоугольник на рисунке 9).
  • За ним следует идентификатор протокола ARP равный 0x0806 (жёлтый прямоугольник на рисунке 9).
  • Следом идёт идентификатор оборудования, в данном случае Ethernet (фиолетовый прямоугольник на рисунке 9), вместе с ним приходит идентификатор протокола IPv4, равный 0x0800 (жёлтый прямоугольник на рисунке 9).
  • Hardware size (чёрный прямоугольник на рисунке 9) содержит в себе размер аппаратного адреса (Для Ethernet это будет шесть октетов (48 бит)).
  • Protocol size (розовый прямоугольник на рисунке 9) содержит в себе размер адреса сетевого протокола (Для IPv4 это будет четыре октета (32 бита)).
  • Затем мы видим код операции ARP (синий прямоугольник на
    рисунке 9): 0001 для запроса ARP или 0002 для ответа ARP.
  • Затем снова следует МАС-адрес отправителя (зелёный прямоугольник на рисунке 9). И за ним IP-адрес отправителя (голубой прямоугольник на рисунке 9) представленный в шестнадцатеричном виде: c0.a8.00.03.
  • Затем следует МАС-адрес получателя (красный прямоугольник на рисунке 9), равный МАС-адресу ПК-1 00:50:79:66:68:00 и его IP-адрес в шестнадцатеричном виде: c0.a8.00.02
  • Затем идёт наполнение ARP пакета до минимальной длины фрейма (64 байта).
  • И всё завершается контрольной суммой пакета (синий прямоугольник на рисунке 9). В данном случае проверка на целостность отсутствует.