TGViewer
Серверная Админа | Компьютерные сети Серверная Админа | Компьютерные сети @school_network · 26.6K subscribers
Post #2774 4.7K
📝 ICMP Type/Code: что скрывается за “ping не проходит”

👋 Привет, сетевой друг!

ICMP все знают как «пинг», но на самом деле это целый набор сообщений с разными Type и Code, каждое из которых говорит конкретную вещь.

🟣Type 0 и 8 - Echo Reply и Echo Request. Это то, что обычно называют ping. Клиент шлёт Type 8, живой хост отвечает Type 0. Если ответа нет, это ещё не значит что хост мёртв — многие фаерволы просто дропают ICMP целиком из соображений безопасности.

🟣Type 3 - Destination Unreachable, самый информативный тип с кучей Code внутри. Code 0 значит сеть недостижима, Code 1 - хост недостижим, Code 3 - порт недостижим (обычно приходит на UDP, когда порт закрыт). Code 4 отдельно интересен - Fragmentation Needed, приходит когда пакет слишком большой, а бит DF (Don’t Fragment) установлен.

🟣Именно Type 3 Code 4 лежит в основе Path MTU Discovery - механизма, который автоматически находит максимальный размер пакета на всём пути. Если где-то по дороге роутер не может протолкнуть пакет целиком, он не режет его, а шлёт обратно ICMP с этим кодом, отправитель уменьшает размер и пробует снова.

🟣Type 11 - Time Exceeded, ровно на этом построен traceroute. Каждый транзитный роутер уменьшает TTL на 1, и когда TTL доходит до нуля, роутер дропает пакет и шлёт обратно Type 11. Traceroute просто шлёт пакеты с TTL=1, 2, 3 и так далее, собирая ответы от каждого хопа по пути.

🟣Type 5 - Redirect, роутер говорит хосту «есть путь короче, используй другой шлюз». В современных сетях это часто отключают из соображений безопасности, потому что атакующий в том же сегменте может слать поддельные Redirect и перенаправлять трафик через себя.

🟣Смотрим ICMP в трафике:

tcpdump -i eth0 icmp -nn


В выводе сразу видны type и code - например, ICMP time exceeded in-transit это Type 11, а ICMP net 10.0.0.5 unreachable - need to frag, mtu 1400 это классический Type 3 Code 4 с указанием реального MTU которое надо использовать.

Серверная Админа | Zeroday | #ICMP
  • 👍 14
  • 🔥 3
  • 👌 1
More from @school_network
  1. Oct 1, 2026👋 Привет, сетевой друг! Сегодня про UUCP - протокол и набор утилит, через которые Unix-ма…
  2. Sep 30, 2026👋 Привет, сетевой друг! Давай разберём несколько TCP-флагов и состояний, которые особенно…
  3. Sep 29, 2026👋 Привет, сетевой друг! Сегодня про webcensus - инструмент для довольно специфичной задач…
  4. Sep 28, 2026Почему SAML снова и снова ломается на одном и том же месте? SAML больше 20 лет отвечает за…
  5. Sep 26, 2026👨‍💻Серверная Админа | #мем
  6. Sep 25, 2026👋 Привет, сетевой друг! Сегодня про Ethernet, который мы привыкли воспринимать как обычны…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →