![Почему трассировка маршрута Nmap такая быстрая?](https://rvso.com/image/1595496/%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83%20%D1%82%D1%80%D0%B0%D1%81%D1%81%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0%20%D0%BC%D0%B0%D1%80%D1%88%D1%80%D1%83%D1%82%D0%B0%20Nmap%20%D1%82%D0%B0%D0%BA%D0%B0%D1%8F%20%D0%B1%D1%8B%D1%81%D1%82%D1%80%D0%B0%D1%8F%3F.png)
Использование опции traceroute от Nmap показывает только один переход и работает очень быстро. Я понимаю, что она работает иначе, чем traceroute, в том, что она пытается угадать правильный TTL вместо того, чтобы начинать с 1. Но почему RTT такой быстрый? Я повторил это 10 раз, и RTT всегда находится в диапазоне 0,02 - 0,03 мс.
# nmap -Pn -T4 --traceroute xxx.xxx.xxx.xxx
Starting Nmap 6.40 ( http://nmap.org ) at 2019-06-25 12:25 PDT
Nmap scan report for xxx.xxx.xxx.xxx
Host is up (0.00013s latency).
Not shown: 991 filtered ports
PORT STATE SERVICE
<redacted>
TRACEROUTE (using port 113/tcp)
HOP RTT ADDRESS
1 0.03 ms xxx.xxx.xxx.xxx
Nmap done: 1 IP address (1 host up) scanned in 4.74 seconds
Использование стандарта traceroute -T
показывает 8 переходов. Повторение этого 10 раз показывает окончательный диапазон RTT между 0,77 - 1,20 мс. Оба сервера находятся на быстром выделенном интернете в пределах 10 миль друг от друга, но RTT 0,03 мс кажется нереалистичным, учитывая время обработки маршрутизатора.
решение1
Ваши логи показывают, что трассировка Nmap работает, отправляя TCP-пробы на порт 113 (служба идентификации). Я предполагаю, что брандмауэр вашего сервера по какой-то причине блокирует исходящие соединения на этот порт – и делает это, подделывая TCP RST, который Nmap интерпретирует как обычный ответ на пробу. (Потому что в большинстве случаев он действительно получил бы TCP RST от конечного перехода.)
Сравнить с traceroute --tcp=113
.
Отклонение входящих соединений Ident является нормальным. Однако делать то же самое для исходящих соединений почти всегда совершенно бесполезно. (Правила брандмауэра для карго-культа?)