Почему Nmap использует номера портов источника вне диапазона? - PullRequest
0 голосов
/ 23 октября 2019

Я прочитал, что следующие правильные стандартные номера портов IPv4:

0 -  1023 Well known ports

1024 - 49151 Зарегистрированные порты

49152 - 65535 Динамические порты

ОднакоКогда я использую клиент Nmap (nmap.org), в Ubuntu 18.04 исходный порт - 34305, 34306 и т. д. Я ожидаю, что исходный порт находится в диапазоне динамического порта. Это ошибка в nmap?

1 Ответ

2 голосов
/ 27 октября 2019

Это не «ошибка» как таковая, просто Nmap предпочитает игнорировать некоторые стандарты в пользу того, чтобы иметь больше доступных исходных портов для работы. Nmap устанавливает множество соединений с множеством конечных точек и пытается оптимизировать его скорость, чтобы избежать потери пакетов. Чтобы сделать это, он должен быть в состоянии определить, сколько времени между отправкой пробы и получением ответа. Если он отправляет один и тот же зонд дважды до получения ответа на первый зонд, он может думать, что сеть работает в два раза быстрее, чем на самом деле. Чтобы избежать этого, он кодирует идентификатор в порт источника , чтобы не перепутать ответы и получить наиболее точную информацию о синхронизации. Поскольку он отправляет так много проб, он пытается избежать зацикливания через один и тот же порт источника, увеличивая диапазон возможных значений. Вы можете увидеть в коде, который я привел, где он выбирает порты выше 33000.

...