📡 ICMP: невидимый диспетчер интернета

Кратко: ICMP (Internet Control Message Protocol) — это служебный протокол, который передаёт сообщения об ошибках и диагностическую информацию в IP-сетях. Когда пакет не может дойти до получателя, когда нужно проверить, жив ли сервер, или когда маршрутизатор сообщает о перегрузке — всё это ICMP. Вы его не замечаете, но без него интернет бы рассыпался.

▫️Как дошли до жизни такой · 1981 г. — ICMP описан в RFC 792 вместе с IP. С самого начала задумывался как неотъемлемая часть стека TCP/IP · 1983 г. — ARPANET переходит на TCP/IP, ICMP начинает свою работу · 1995 г. — Появляется ICMPv6 для IPv6, который объединяет функции ICMP, IGMP и ARP · 1990–2000-е — ICMP начинают массово блокировать из-за атак. Админы режут всё подряд, ломая диагностику · 2026 г. — ICMP всё ещё жив, но его ограничивают. Появляются альтернативы вроде HTTP-пингов и TCP-трейсероутов

▫️Как работает (простыми словами) ICMP — это "голос" IP-сети. Он не передаёт пользовательские данные, а только служебные сообщения: · Echo Request / Echo Reply — "ты жива?" / "да". Это знаменитый ping · Destination Unreachable — "не могу доставить". С кодом: сеть недоступна, порт закрыт, нужна фрагментация и т.д. · Time Exceeded — "истекло время жизни (TTL)". Основа traceroute · Redirect — "вам лучше пойти через другого маршрутизатора" · Parameter Problem — "в заголовке IP ошибка"

▫️Где используется · Ping — проверка доступности хоста. Команда, которую знает каждый админ · Traceroute / tracert — отслеживание маршрута пакета. Использует Time Exceeded · MTU discovery — определение максимального размера пакета через сообщения "нужна фрагментация" · Оптимизация маршрутизации — Redirect подсказывает роутерам более короткий путь · Управление перегрузками — Source Quench (устарел) просил отправителя слать меньше

▫️Почему ICMP ненавидят безопасники ICMP стал любимым инструментом атакующих: · Ping flood / Smurf — DDoS через массовые ICMP-запросы. Злоумышленник отправляет эхо с поддельным IP жертвы, все отвечают ей · ICMP-туннели — скрытая передача данных через ICMP (например, icmptunnel, ptunnel). Обходит фаерволы, так как ICMP часто разрешён · Атаки перегрузки — лавина ICMP-сообщений может положить процессор маршрутизатора · Разведка сети — ping и traceroute помогают картографировать сеть перед атакой

▫️ICMPv6 — новое поколение В IPv6 ICMP стал ещё важнее: · Neighbor Discovery — заменил ARP (определение MAC-адреса) · Router Solicitation / Advertisement — автоконфигурация адресов · MLD (Multicast Listener Discovery) — управление мультикастом · Path MTU Discovery — критически важен, так как в IPv6 нет фрагментации на маршрутизаторах

▫️Как с ним жить (рекомендации) · Не отключайте полностью — без ICMP ломается MTU discovery, трассировка, диагностика. Сеть становится чёрным ящиком · Ограничьте, но не убивайте — разрешите echo request/echo reply, но поставьте лимит (rate limiting) · Запретите опасные типы — redirect, source quench, timestamp request (в современных сетях не нужны) · Для IPv6 — без ICMPv6 сеть вообще не заработает. Neighbor Discovery обязателен

▫️Культурный феномен · "Пинг" как глагол — "пингану сервер", "пинг в чате" — слово вошло в обиход · Traceroute — визуализация путешествия пакета. Любимый инструмент для поиска, где тормозит интернет · "ICMP заблокирован" — бич админов. Пинги не проходят, а проблема где-то глубже · Мем — "ICMP: I Can't Make Progress" (не могу продвинуться) или "Internet Control Mess Protocol"

▫️Современное положение (2026) · ICMP не умер, но его жёстко режут в корпоративных сетях и облаках. Многие разрешают только ping, остальное — блок · Альтернативы — TCP ping (hping3, tcping), HTTP-мониторинг (curl с таймаутом) · В облаках (AWS, Yandex Cloud) — ping часто работает, но traceroute может не проходить · Для IPv6 — ICMPv6 обязателен. Без него не работают SLAAC и обнаружение соседей

#icmp #ping #traceroute #сети #протоколы #диагностика #кибербезопасность

📡 ICMP: невидимый диспетчер интернета | Сетка — социальная сеть от hh.ru