Назад | Перейти на главную страницу

nmap: почему он сканирует порт 80 с помощью TCP ACK, а не SYN?

Читая man-страницы nmap, я прочитал про параметр -sn:

The default host discovery done with -sn consists of an ICMP echo request,
TCP SYN to port 443, TCP ACK to port 80, and an ICMP timestamp request
by default.

Я не очень хорошо понимаю цель выполнения TCP ACK на порту 80. Поскольку TCP-стек целевого сервера не будет обрабатывать SYN, он просто отбросит полученный пакет ACK, не предоставив никакой информации Nmap.

Например, на моем частном сервере он отвечает на эхо-запрос ICMP эхо-ответом ICMP, а на TCP SYN-порт 443 - TCP SYN-ACK. Но нет ответа на TCP ACK на 80-м порту.

Большое спасибо за ваши огни на матери

За исключением случаев, когда используется межсетевой экран с отслеживанием состояния, зонды ACK должны вызывать RST-пакет как из закрытых, так и из открытых портов. Из Документация Nmap по -PA вариант:

Причина, по которой предлагаются зонды пинга SYN и ACK, заключается в том, чтобы максимально увеличить шансы обхода межсетевых экранов. Многие администраторы настраивают маршрутизаторы и другие простые брандмауэры для блокировки входящих SYN-пакетов, за исключением тех, которые предназначены для общедоступных служб, таких как веб-сайт компании или почтовый сервер. [...] Когда действуют такие правила брандмауэра без сохранения состояния, SYN ping-зонды (-PS), вероятно, будут заблокированы при отправке на закрытые целевые порты. В таких случаях пробник ACK светится, поскольку он проходит через эти правила.