Начнём с настройки сети. Создадим сеть, состоящую из 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-запрос.
- Пакет начинается с МАС-адреса получателя (красный прямоугольник на рисунке 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), равный МАС-адресу ПК-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). В данном случае проверка на целостность отсутствует.