Що таке ICMP ?
Протокол повідомлень ICMP або Internet Control Message є Інтернет або Мережа протокол рівня. Як правило, він використовується для перевірки доступності хоста або маршрутизатора в мережі.
Хто використовує ICMP?
Ping або traceroute використовує ICMP як внутрішній протокол. Ping використовує ICMP-запит ехо-сигналу та повідомлення ICMP echo response, щоб перевірити, чи доступний цільовий хост чи ні.
Типи пакетів ICMP?
Загалом два типи пакетів ICMP
- Повідомлення ехо-запиту ICMP.
- Повідомлення-відповіді ICMP.
Як отримати пакет ICMP у Wireshark?
Крок 1: Ми можемо використовувати інструмент ping для отримання запиту та відповіді ICMP.
Крок 2: Відкрийте командний рядок або термінал у Windows або Linux відповідно.
Крок 3: Запустіть Wireshark.
Крок 4: Запустіть команду нижче
пінг www.Google.комПереконайтесь, що у вас підключення до Інтернету, або пінг буде невдалим. Ось знімок успішного пінгу до 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 -> Біг Ендіан
* LE -> Маленький Ендіан
Дані -> Дані, що містяться в пакеті 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 -> Біг Ендіан
* LE -> Маленький Ендіан
Дані -> Дані, що містяться в пакеті ICMP.
Ось скріншот
Тепер давайте подивимось на малюнку запит ICMP та відповідь ICMP поруч.
* Червоний означає, що він інший
* Зелений означає, що це те саме.
Спеціальне спостереження:
Давайте розглянемо Ідентифікація поле всередині IPv4 .Ми побачимо щось цікаве.
Що станеться, якщо IP-адресу неможливо повторно отримати:
Давайте перевіримо якусь ip-адресу, яка недоступна. Отже, ми побачимо нижче результат.
Ось знімок Wireshark
Це означає, що ми не отримали відповіді ICMP на будь-який запит ICMP.
Простий висновок:
Отже, якщо ми хочемо перевірити, чи доступна будь-яка IP-адреса чи веб-сайт, ми можемо використовувати ping або traceroute які внутрішньо використовують протокол ICMP.
Короткий довідник:
Якщо вам цікаво знати інші типи ICMP, перейдіть за посиланням нижче
https: // uk.вікіпедія.org / wiki / Internet_Control_Message_Protocol