Что такое hping3 и зачем он нужен

10 минут чтения
Средний рейтинг статьи — 4.9

hping3 — это мощный и гибкий инструмент командной строки для генерации произвольных сетевых пакетов TCP/IP. Он широко используется для диагностики сетевых проблем, тестирования доступности серверов, обхода фильтрации пакетов и оценки безопасности сетевых устройств. В отличие от стандартной команды ping, работающей только с ICMP-пакетами, hping3 позволяет создавать пакеты TCP, UDP и RAW-IP с точной настройкой заголовков.

Основные возможности hping3

  • TCP-пинг: Проверка доступности конкретного TCP-порта с установкой нужных TCP-флагов (SYN, ACK, FIN и т.д.).
  • UDP-пинг: Отправка UDP-пакетов с анализом ICMP-ответов (port unreachable).
  • ICMP-пинг: Альтернатива стандартному ping с более точным контролем параметров пакетов.
  • Создание произвольных пакетов: Задание всех полей TCP/IP-заголовков вручную.
  • Анализ маршрута (traceroute): Отслеживание путей следования пакетов по сети.
  • Проверка фильтров и межсетевых экранов: Определение, какие пакеты проходят через фильтрацию.
  • Стресс-тестирование и оценка пропускной способности: Генерация большого объема пакетов.
  • Сканирование портов: Скрытое или агрессивное сканирование TCP-портов.

Установка hping3

На Linux:

sudo apt update
sudo apt install hping3

На macOS через Homebrew:

brew install hping

На Windows рекомендуется использовать через WSL (Windows Subsystem for Linux) или специализированные сборки.

Примеры использования hping3

1. TCP-пинг порта

Проверка доступности HTTPS-порта (443) сервера:

hping3 -S -p 443 example.com

Опции:

  • -S — установить SYN-флаг (как при открытии TCP-соединения);
  • -p — указание порта.

2. ICMP-пинг

Имитировать стандартный ping с возможностью настройки:

hping3 --icmp example.com

3. Сканирование портов

Сканирование диапазона портов:

hping3 -8 20-80 -S example.com

Опция -8 указывает диапазон портов.

4. Стресс-тестирование (Flood Attack)

Генерация SYN-флуда для проверки устойчивости:

hping3 --flood -S -p 80 example.com

⚠️ Использовать только в тестовых средах!

5. Отправка пакетов с пользовательскими данными

Отправить пакеты с текстом "StatuserTest":

echo "StatuserTest" | hping3 -S -p 8080 example.com

6. Трассировка маршрута

Аналог traceroute, но через TCP-пакеты:

hping3 --traceroute -V -S -p 80 example.com

7. Проверка фильтрации ICMP

Отправка пакетов с флагами, чтобы проверить, какие ответы проходят:

hping3 --icmp --sign test example.com

Ключевые параметры командной строки hping3

ПараметрНазначение
-SУстановить SYN-флаг TCP
-AУстановить ACK-флаг TCP
-FУстановить FIN-флаг TCP
-RУстановить RST-флаг TCP
-pПорт назначения
-sПорт источника
--icmpИспользовать ICMP вместо TCP
--udpИспользовать UDP вместо TCP
--floodОтправлять пакеты без задержек
-dРазмер данных в пакете
--signДобавить подпись в пакеты
--tracerouteТрассировка маршрута

Практические советы

  • Для имитации нормального сетевого трафика комбинируйте TCP-флаги и данные.
  • Для сканирования портов используйте нестандартные тайминги и флаги, чтобы обойти детектирование.
  • Для тестирования firewall важно уметь изменять исходные порты и IP-адреса (требуются права root).

Почему стоит использовать hping3

hping3 даёт полный контроль над сетевыми пакетами, что позволяет:

  • Тестировать сложные сетевые сценарии.
  • Оценивать защиту систем от атак на сетевом уровне.
  • Диагностировать нестандартные проблемы доступности сервисов.
  • Проверять работоспособность сетевых фильтров и правил безопасности.

Заключение

hping3 — это универсальный и обязательный инструмент для сетевых инженеров, специалистов по безопасности и DevOps. Его высокая гибкость и мощный функционал позволяют не только выполнять стандартные тесты доступности, но и строить сложные модели атак или сетевых взаимодействий для глубокого тестирования инфраструктуры.

Помните: использование hping3 должно быть этичным. Проведение тестов на чужих ресурсах без разрешения противоречит законам и правилам сетевой безопасности.

10 минут чтения
Средний рейтинг статьи — 4.9

Настроить мониторинг за 30 секунд

Надежные оповещения о даунтаймах. Без ложных срабатываний