2

Я пытаюсь найти бесплатный IP-адрес в сети, которая не использует DHCP. Я решил запустить интенсивное сканирование, используя Nmap с 10.0.5.0 по 10.0.5.255. (Я знаю, что это не лучший способ найти неиспользуемый IP-адрес, но он достаточно хорош для этого сценария. Я открыт для предложений, хотя.) Я нахожусь в другой подсети, и я не уверен на 100%, через что проходит мое сканирование (брандмауэры, NAT и т.д.).

Каждый IP-адрес показывает, что порт 113/tcp закрыт, включая неиспользуемые IP / мертвые хосты. Это делает мои результаты уродливыми и мучительными.

  • Есть ли способ пропустить сканирование этого порта в Nmap?
  • Почему это показано даже на мертвых хостах?

2 ответа2

5

113/tcp - это порт для службы ident, который когда-то использовался для идентификации пользователя за конкретным TCP-соединением. Поскольку Identif работает как сервер, он не доступен за устройством NAT. Без какой-либо дальнейшей настройки запрос на идентификацию, приходящий к клиенту за устройством NAT, будет отброшен, и запрос будет истек. Это может привести к длительным задержкам соединения, пока удаленный сервер пытается идентифицировать клиента за устройством NAT, с которым невозможно связаться.

Вместо того, чтобы тратить все это время на запросы истечения времени ожидания, многие устройства NAT, межсетевые экраны и другие сетевые устройства просто возвращают TCP RST для всех входящих подключений к порту 113. Это позволяет идентичным запросам быстро завершаться, и каждый может продолжить свою жизнь.

Для пропуска определенного порта вы можете указать диапазон допустимых портов, пропустив этот один порт. В этом случае: -p 1-112,114-1024 будет сканировать все порты с 1 по 1024, пропуская 113. На данный момент вы можете указать больше портов, чем хотите, а затем ограничить их X наиболее часто открытыми портами с помощью --top-ports X Это взаимодействие между --top-ports и -p задокументировано неоднозначно и может измениться в будущем.

4

Есть ли способ пропустить сканирование этого порта в Nmap?

Да. Смотрите здесь (перепечатано здесь для удобства):

Вы можете использовать запятую в качестве разделителя для разделения двух разных диапазонов портов. Например в вашем случае вы можете дать следующее

$ nmap 24.0.0.0/24 -p 1-79,81-65535

Следовательно, таким образом мы исключили сканирование портов на порту 80.

Почему это показано даже на мертвых хостах?

Где-то в вашей цепочке маршрутизации у вас может быть маршрутизатор / принудительный прокси / межсетевой экран с отслеживанием состояния, который выполняет некоторую проверку пакетов и возвращает фактический ответ вашему хосту, пытающемуся сообщить вам, что порт заблокирован. Он может даже не проверить IP перед отправкой этого ответа.

Короче говоря, вы не можете предполагать, что любой ответ, полученный вами из сети, на самом деле исходил от конечной точки, к которой вы обратились, если вы не используете надежное шифрование. Любой "человек посередине" может отправить фальшивый запрос, будь то, чтобы сказать вам: «Вам не разрешено это делать!"или просто какая-то неверная конфигурация. Фактический случай, по которому это происходит, будет чрезвычайно специфичным для вашей аппаратной / программной конфигурации, а также для вашего интернет-провайдера и т.д. - в основном все, что связано с настройкой вашей сети.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .