Проверка через ICMP-запрос

Принцип работы

Метод основывается на протоколе ICMP (обычно «ping»): сканер отправляет ICMP Echo Request на указанный адрес, а при доступности узел отвечает ICMP Echo Reply.

     Scanner                    Target
       |      (ICMP Echo Req)     |
       |------------------------->|
       |<-------------------------|
       |    (ICMP Echo Reply)     |

Область применения

  • Широко используется во внутренних и внешних сетях для базовой проверки доступности узлов.
  • Подходит, когда правила безопасности не блокируют ICMP, и устройство настроено отвечать на ping.
  • Хорош для быстрого мониторинга рабочих станций и серверов, если ICMP разрешён.

Преимущества и недостатки

Плюсы:

  • Простая реализация, минимальный трафик.
  • Быстрая реакция, если ICMP не фильтруется.

Минусы:

  • Часто ICMP блокируется фаерволами и настройками ОС.
  • При отсутствии ответа нельзя точно сказать, «мертвый» ли узел или просто не отвечает.

Рекомендации

Используйте ICMP-проверку как первую попытку определения активности узла, особенно в сетях без строгих фильтров. Если ответов нет, дополнительно примените методы TCP-проверок или комбинированные способы.

 

Проверка через ARP-запрос

Принцип работы

ARP (Address Resolution Protocol) работает на канальном уровне в локальной сети. Сканер отправляет широковещательный ARP-запрос «Кому принадлежит IP?». Активный узел отвечает своим MAC-адресом.

  Broadcast
   ARP Req
Scanner ---------------- Target
(Who has 192.168.0.5?)
                   (I have 192.168.0.5, MAC=AA:BB:CC:DD:EE:FF)

Область применения

  • Применим только в локальных сетях (LAN), где сканер и цель в одной подсети.
  • Идеален для ситуаций, когда узлы могут не отвечать на ICMP, но им нужен ARP для обмена IP-трафиком.

Преимущества и недостатки

Плюсы:

  • Выявляет все включённые устройства в локальном сегменте, даже если ICMP заблокирован.
  • Быстрое и надёжное обнаружение внутри LAN.

Минусы:

  • Не работает за пределами локальной подсети (ARP не маршрутизируется).
  • Для отправки «сырых» ARP-кадров нужны привилегии администратора на сканере.

Рекомендации

Используйте ARP-сканирование при инвентаризации локальной сети: оно даёт самый полный перечень устройств. Для проверки удалённых хостов за роутером примените другие методы (ICMP, TCP).

 

Проверка через ARP, ICMP-запросы, а также TCP-ACK проверка портов

Принцип работы

Сканер одновременно использует:

  1. ARP-запрос (в локальном сегменте),
  2. ICMP Echo Request,
  3. TCP-ACK-пакет на какой-либо порт.

Хост считается доступным, если отвечает хотя бы на один из этих типов запроса.

   +---(ARP Req)-----+
   |                 |
   | (ICMP Echo Req) |
   |                 v
Scanner           Target
   ^                 |
   | (TCP ACK)       |
   +-----------------+

Область применения

  • Используется при максимальной необходимости охвата (например, комплексное сканирование).
  • Полезен в неоднородных сетях, где неизвестно, какие протоколы фильтруются.

Преимущества и недостатки

Плюсы:

  • Почти гарантирует ответ при существовании любого пути.
  • Обходит фильтры, блокирующие один тип трафика.

Минусы:

  • Увеличенный объём запросов (три разных метода).
  • ARP компонент применим лишь внутри LAN, а TCP-ACK и ICMP – для внешних узлов.

Рекомендации

Применяйте этот метод при детальном обследовании сети, когда нежелательно пропустить ни один активный узел. Для более простых сценариев (мониторинг локалки или одиночных узлов) он может быть избыточным.

 

Проверка через ICMP-запрос и TCP-ACK проверка портов

Принцип работы

Сканер отправляет ICMP Echo Request и одновременно TCP-пакет с флагом ACK на заданный порт. Узел доступен, если получил ответ хоть на один запрос (ICMP Echo Reply или TCP RST).

   (ICMP Echo)    +----> [Target]
Scanner --------> |
   (TCP ACK)      +----> [Target]
       <(Replies come back if host is up)>

Область применения

  • Часто используется во внешних сетях или интернет-сегментах.
  • Подходит, когда ICMP может блокироваться, а TCP ACK может пройти через фаервол или наоборот.

Преимущества и недостатки

Плюсы:

  • Универсальная проверка на доступность без лишних запросов (только два типа пакетов).
  • Может выявить хост, блокирующий ping, но отвечающий на TCP ACK.

Минусы:

  • Если и ICMP, и ACK блокируются, узел окажется незамеченным.
  • Надо знать, на какой порт отправлять ACK (часто 80, 443).

Рекомендации

Хороший «стандартный» метод проверки доступности удалённых узлов. Используйте, когда не хотите перегружать сеть множеством запросов, но нужен более надёжный, чем одиночный ICMP.

 

Считать доступным

Принцип работы

Хост автоматически помечается как «доступный», никаких пробных пакетов не отправляется. По сути, проверка пропущена – система предполагает, что узел всегда online.

Scanner        Target
   (No actual packets)
   Host is considered up

Область применения

  • Когда сетевые правила полностью блокируют любые «ping»-типы запросов, но вы хотите пробовать другие действия (например, сканировать порты, не дожидаясь ответа от ping).
  • Для уже известного списка целевых узлов, где не требуется предварительная проверка.

Преимущества и недостатки

Плюсы:

  • Экономит время и трафик при большом количестве адресов.
  • Исключает ложные «недоступные» статусы, когда ping не проходит, а сам сервис работает.

Минусы:

  • Система не узнает заранее, отключён ли узел – перейдёт сразу к дальнейшим действиям.
  • При массовом сканировании без проверки можно тратить ресурсы на «мертвые» адреса.

Рекомендации

Применяйте этот метод, если уверены в актуальности списка IP-адресов и хотите пропустить стадию ping. При мониторинге он менее полезен, так как не отсекает реально недоступные узлы.

 

TCP-ACK проверка портов

Принцип работы

Сканер отправляет TCP-пакет с установленным флагом ACK на заданный порт. Если хост активен, обычно придёт RST-пакет в ответ (поскольку нет открытой сессии). Это указывает на доступность узла.

    Scanner                             Target
       |    (TCP ACK -> port X)           |
       |--------------------------------->|
       |<---------------------------------|
       |           (TCP RST)             |

Область применения

  • Нередко используется для обнаружения узлов, которые блокируют SYN или ICMP, но разрешают ACK.
  • Может применяться при фильтрации «новых» соединений, а не неожиданных ACK.

Преимущества и недостатки

Плюсы:

  • Позволяет обойти простые firewalls, блокирующие только SYN.
  • Даже закрытый порт ответит RST, давая понять, что IP активен.

Минусы:

  • Современные stateful-фильтры часто отбрасывают “лживый” ACK, поэтому ответ не придёт.
  • Нужно выбрать «подходящий» порт, который не блокируется полностью.

Рекомендации

Используйте ACK-пинг там, где ICMP и SYN вероятно блокируются, но ACK может пройти. Хорошо подходит для продвинутых пентестов. Для рутинного мониторинга сетей с обычными настройками чаще применяют SYN или ICMP.

 

TCP-SYN проверка портов

Принцип работы

Сканер отправляет TCP-пакет с флагом SYN на выбранный порт. Если порт открыт или закрыт, цель отвечает (SYN/ACK или RST), и таким образом хост определяется как доступный. Сканер немедленно рвёт потенциальное соединение (RST), не доводя «трёхстороннее рукопожатие» до конца.

          Scanner                         Target
             |       (TCP SYN -> port X)    |
             |----------------------------->|
Open port:   |<------------- (SYN/ACK) ----|
Closed port: |<----------- (RST) -------|
             |      (RST to end)           |

Область применения

  • Отлично подходит для обнаружения узлов во внешних сетях, если ожидается, что какой-то TCP-порт у них слушает или хотя бы не полностью фильтруется.
  • Способен обнаруживать «живые» хосты даже при фильтрации ICMP.

Преимущества и недостатки

Плюсы:

  • Высокая вероятность ответа, если порт не заблокирован целиком.
  • Можно одновременно проверять, открыт ли нужный порт.

Минусы:

  • Если порт выбран неверно (полностью фильтруется), ответа не будет.
  • SYN-пакеты могут вызывать подозрения (часто ассоциируются со сканированием).

Рекомендации

Для интернет-серверов обычно выбирают 80/443 порт, чтобы повысить шанс ответа (большинство сайтов их слушают). В локальных сетях SYN пинг часто комбинируют с ARP/ICMP для комплексности. При отсутствии ответа меняйте порт или используйте дополнительные методы.

 

Проверка через ARP-запрос, ICMP-запросы

Принцип работы

Комбинация двух простых методов в рамках одной проверки. Для локальных хостов используется ARP, для IP-уровня – ICMP. Хост считается доступным, если либо вернулся ARP-ответ, либо ICMP Echo Reply.

Scanner:
 - ARP "Who has X?"
 - ICMP "ping X"
Target (LAN):
 - (ARP Reply) MAC
 - (ICMP Echo Reply)

Область применения

  • Локальные сети без ограничений, где ARP и ICMP обычно разрешены.
  • Упрощённая альтернатива к «всем» методам сразу, но без TCP.

Преимущества и недостатки

Плюсы:

  • В LAN ARP ловит большинство узлов, которые не отвечают на ping.
  • Дополнительная ICMP-проверка подтверждает IP-связность.

Минусы:

  • Для удалённых узлов за роутером ARP не применим (переходит только ICMP).
  • Если оба типа запросов блокируются, ответ не будет получен.

Рекомендации

Подходит для типовых внутренних сегментов. Даёт быстрый охват без лишней сложности. За границами локалки фактически будет использоваться только ICMP, поэтому при необходимости проверять фильтрацию TCP придётся добавить другие методы.

 

Проверка через ARP-запрос и TCP-ACK проверка портов

Принцип работы

Сканер параллельно отправляет ARP-запрос (в надежде получить MAC-адрес в локальном сегменте) и TCP ACK-пакет на заданный порт (для IP-уровня). Хост считается онлайн, если сработал хотя бы один из методов.

   [Scanner] 
    | ARP Req
    |--------------------> 
    | TCP ACK -> port X 
    |-------------------->    [Target]
    <--------------------

Область применения

  • Когда использование ICMP нежелательно или фильтруется, и хочется объединить ARP для LAN с ACK для потенциально удалённых хостов.
  • Случаи, где ARP+ICMP недоступен (запрещён ICMP), но нужно локальное обнаружение + TCP-проверка.

Преимущества и недостатки

Плюсы:

  • Покрывает узлы в локальной сети (ARP) и те, кто может ответить ACK-пакетом.
  • Может обходить фильтры, блокирующие ICMP.

Минусы:

  • Внешние узлы, блокирующие ACK, останутся незамеченными.
  • Иногда избыточен: в локалке ARP обычно достаточно, а ACK может и не пригодиться.

Рекомендации

Используйте ARP+ACK в узкоспециализированных сценариях, где ICMP запрещён, но ACK может пройти, и при этом нужно полноценно обнаруживать локальные хосты. Во многих случаях более популярен ARP+ICMP либо TCP-SYN. Прежде чем применять ARP+ACK, убедитесь, что действительно нужен такой набор.

 

Общие советы по выбору метода

  1. ICMP-запрос – простой способ «ping», если не заблокирован.
  2. ARP-запрос – идеален для локальных сетей (LAN).
  3. Комбинации ARP/ICMP/TCP – повышают вероятность обнаружения «тихих» или фильтруемых узлов.
  4. TCP-ACK/SYN – применяйте во внешних сетях или там, где ping не проходит.
  5. Считать доступным – пропускать стадию обнаружения, если уверены, что узел работает, либо если полностью запрещён любой «ping» трафик.

Используйте соответствующие методы в зависимости от структуры сети, конфигураций фаерволов и необходимости максимально возможного охвата активных устройств. В локальных сегментах чаще всего срабатывают ARP и ICMP, во внешних – комбинация ICMP/TCP. Когда нужно супер-надёжное обнаружение, включайте сразу несколько методов (например, ARP + ICMP + TCP-ACK).