Что такое ICMP ?
ICMP или протокол управляющих сообщений Интернета Интернет или же Сеть протокол уровня. Обычно он используется для проверки доступности хоста или маршрутизатора в сети.
Кто использует ICMP?
Ping или traceroute использует ICMP в качестве внутреннего протокола. Ping использует эхо-запрос ICMP и сообщения эхо-ответа ICMP, чтобы проверить, доступен ли целевой хост или нет.
Типы пакетов ICMP?
Обычно два типа пакетов ICMP
- Сообщения эхо-запроса ICMP.
- Сообщения эхо-ответа ICMP.
Как получить пакет ICMP в Wireshark?
Шаг 1. Мы можем использовать инструмент ping для получения запроса и ответа ICMP.
Шаг 2: Откройте командную строку или терминал в Windows или Linux соответственно.
Шаг 3: Запустите Wireshark.
Шаг 4: Выполните команду ниже
пинг www.Google.комУбедитесь, что у вас есть подключение к Интернету, иначе пинг не будет выполнен 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 или веб-сайт, мы можем использовать пинг или трассировка которые внутренне используют протокол ICMP.
Краткая справка:
Если вы хотите узнать о других типах ICMP, перейдите по ссылке ниже
https: // ru.википедия.org / wiki / Internet_Control_Message_Protocol