Вопрос или проблема
У меня есть два почти идентичных встроенных хоста, которые я сканирую с помощью NMAP на конкретном UDP порту 47808.
На хосте 192.168.2.12 NMAP возвращает через некоторое время:
в то время как на 192.168.2.24 NMAP немедленно возвращает:
В обоих случаях хост отвечает сообщением ICMP Type 3 Code 3, но для 192.168.2.12 NMAP продолжает сканирование, в то время как для 192.168.2.24 он возвращает ответ сразу после первого ICMP ответа.
Это первый ICMP ответ от 192.168.2.12:
в то время как это первый ICMP от 192.168.2.24:
Оба являются сообщениями Type 3 Code 3, но для 192.168.2.24 есть другой полезный груз.
Почему NMAP остановился сразу для 192.168.2.24, даже если тип и код ICMP идентичны 192.168.2.12?
Вот трассировка пакетов NMAP для 192.168.2.12:
Даже если оба ICMP пакета являются Type 3 Code 3, NMAP классифицирует ответ 192.168.2.12 как Destination Unreachable, а 192.168.2.24 как Port Unreachable.
Почему такая разная классификация для двух пакетов с одинаковым типом и кодом?
Ответ или решение
Почему NMAP останавливается при сканировании UDP на порту 47808 для одного хоста, но продолжает для другого?
При использовании NMAP для сканирования UDP портов важно учитывать, как обрабатываются ICMP сообщения, особенно сообщения о недоступности порта. В вашем случае оба целевых хоста — 192.168.2.12 и 192.168.2.24 — возвращают ICMP Type 3 Code 3, но поведение NMAP отличается. Давайте проанализируем это более подробно.
Что такое ICMP Type 3 Code 3?
ICMP (Internet Control Message Protocol) Type 3 указывает на недоступность. Код 3 конкретно означает "Port Unreachable" (недоступный порт). Это сообщение информирует отправителя о том, что пакет был получен, но соответствующий порт на принимающем устройстве не открыт для UDP трафика.
Почему разное поведение NMAP?
-
Обработка ICMP пакетов:
- NMAP имеет встроенную логику для обработки ICMP сообщений. При получении Type 3 Code 3 он должен определить, продолжать ли сканирование или завершить его.
- В вашем случае, для хоста 192.168.2.24, может быть, это ICMP сообщение содержит разные данные в заголовке или полезной нагрузке, которые искривляют нормальную обработку сканирования.
-
Платформа и конфигурация:
- Важным фактором является конфигурация сетевого стека операционной системы на каждом из хостов. Например, различия в конфигурации firewall (межсетевого экрана) или правилах сетевой безопасности могут воздействовать на то, как ICMP сообщения обрабатываются.
- Если на 192.168.2.24 установлен более строгий межсетевой экран, это может вызвать более быстрое завершение сканирования при получении первого ICMP ответа.
-
Полезная нагрузка ICMP ответа:
- Как вы отметили, полезная нагрузка ICMP пакетов отличается для двух хостов. Эти данные могут содержать информацию, которая иначе интерпретируется NMAP. Например, если полезная нагрузка указывает на другие параметры сети или сервиса, NMAP может решить, что дальнейшие попытки сканирования избыточны.
-
Время ожидания (Timeout):
- NMAP использует таймеры для определения различных состояний хостов. Если ответ приходит очень быстро, NMAP может, на основании тайм-аутов, определять, что дальнейшее сканирование не имеет смысла.
- Возможно, для 192.168.2.12 NMAP считал, что требуется больше времени для определения состояния порта, так как он не заметил полной недоступности порта до тех пор, пока не завершил первое сканирование.
Заключение
Разное поведение NMAP при получении ICMP Type 3 Code 3 сообщения от двух хостов объясняется несколькими факторами, включая способ обработки ICMP сообщений, конфигурацию сетевой безопасности и различия в полезной нагрузке ICMP пакетов. Проверив конфигурацию межсетевых экранов и анализируя полезные нагрузки ICMP ответов, можно лучше понять эту ситуацию и оптимизировать процесс сканирования в дальнейшем.
Теперь осталось только отметить, что правильная интерпретация ICMP сообщений является ключом к успешному сканированию и глубокому пониманию сетевой безопасности вашего окружения.