Какво е ICMP ?
ICMP или Internet Control Message Protocol е интернет или Мрежа протокол от слой. Като цяло се използва за проверка на достъпността на хост или рутер в мрежа.
Кой използва ICMP?
Ping или traceroute използва ICMP като вътрешен протокол. Ping използва ICMP ехо заявка и ICMP ехо съобщения за отговор, за да провери дали хостът на дестинацията е достъпен или не.
Видове ICMP пакет?
Като цяло два вида ICMP пакет
- ICMP съобщения за ехо.
- ICMP ехо съобщения за отговор.
Как да получа ICMP пакет в Wireshark?
Стъпка 1: Можем да използваме инструмент за пинг, за да получим ICMP заявка и отговор.
Стъпка 2: Отворете командния ред или терминала съответно в Windows или Linux.
Стъпка 3: Стартирайте Wireshark.
Стъпка 4: Стартирайте под командата
пинг www.google.comУверете се, че имате връзка с интернет или пингът ще бъде неуспешен J. Ето снимката за успешен пинг към Google. Можем да видим 0% загуба. Това означава ICMP пакети за заявка = ICMP пакети за отговор.
Ето още подробности:
В този случай ние пинг на уеб сайта на Google. Вместо това можем да направим и пинг на ip адрес.
ИЛИ
пинг 192.168.1.1 [Това е моят IP адрес на рутера]
Ето успешен пинг на моя рутер
Стъпка 5: Спрете Wireshark и поставете “ICMP” като филтър в Wireshark.
Анализ на ICMP:
Нека проверим какво се случва в Wireshark, когато пинг на Google или 192.168.1.1.
Ето ICMP заявката и пакетите за отговор за пинг на Google.
Забележка: Трябва да поставим филтъра „icmp“, тъй като се интересуваме само от ICMP пакети.
Брой ICMP заявки: От улавянето можем да видим, че има 4 пакета за искане на ICMP.
Проверете маркираните пакети.
Брой отговори на ICMP: От улавянето виждаме, че има 4 ICMP пакета за отговор.
Проверете маркираните пакети.
Искане на ICMP:
Сега изберете ICMP пакет за заявка в Wireshark и погледнете IPv4 слоя.
Тъй като това е пакет за заявка на ICMP, така че можем да видим IP източника като системния си IP адрес и IP адреса на дестинация като един IP адрес на Google. Също така IP слоят спомена протокола като ICMP.
Ето екранната снимка
Сега за същия пакет изберете ICMP част в Wireshark.
По-долу можем да видим важни полета:
Тип: 8 [Означава неговата ICMP заявка]Код: 0 [Винаги 0 за ICMP пакети]
Идентификатор (BE): 1
Идентификатор (LE): 256
Пореден номер (BE): 6
Пореден номер (LE): 1536
* BE -> Big Endian
* LE -> Little Endian
Данни -> Данни, присъстващи в ICMP пакет.
Ето екранната снимка
Отговор на ICMP:
Сега изберете ICMP пакет за отговор в Wireshark и погледнете IPv4 слоя.
Тъй като това е пакет за отговор на ICMP, можем да видим IP адреса на дестинация като системния си IP адрес, а IP източника като един IP адрес на Google. Също така IP слоят спомена протокола като ICMP.
Ето екранната снимка
Сега за същия пакет изберете ICMP част в Wireshark.
По-долу можем да видим важни полета:
Тип: 0 [Означава своя ICMP отговор]Код: 0 [Винаги 0 за ICMP пакети]
Идентификатор (BE): 1
Идентификатор (LE): 256
Пореден номер (BE): 6
Пореден номер (LE): 1536
* BE -> Big Endian
* LE -> Little Endian
Данни -> Данни, присъстващи в ICMP пакет.
Ето екранната снимка
Сега нека видим ICMP заявка и ICMP отговор рамо до рамо на снимка.
* Червеното означава, че е различно
* Зеленото означава, че е същото.
Специално наблюдение:
Нека да разгледаме Идентификация поле вътре в IPv4 .Ще видим нещо интересно.
Какво се случва, ако IP адресът не може да се извлече отново:
Нека пинг някои ip адрес, който не е достъпен. Така че ще видим по-долу изход.
Ето моментната снимка на Wireshark
Това означава, че не сме получили ICMP отговор за искане на ICMP.
Просто заключение:
Така че, ако искаме да проверим дали някой IP или уебсайт е достъпен или не, можем да използваме ping или traceroute които вътрешно използват ICMP протокол.
Кратка справка:
Ако се интересувате от други видове ICMP, следвайте връзката по-долу
https: // en.wikipedia.org / wiki / Internet_Control_Message_Protocol