Как Nmap отличает закрытые порты от фильтрованных портов

10

Давайте предположим, что мы выполняем сканирование соединения TCP.

сканирование nmap в Google возвращает следующий вывод:

ПОРТ ГОСУДАРСТВЕННАЯ СЛУЖБА

80 / TCP открыть http

443 / TCP открыть https

Однако, если я попытаюсь открыть сокет с помощью netcat или telnet на google.com, например, через порт 12, netcat или telnet зависнет на неопределенное время.

Nmap обнаруживает, что порт 12 (и другие порты, кроме 80 или 443) закрыты, но инициирование TCP-подключения к ним не закрывается мгновенно.

Как Nmap может знать, что эти порты не отфильтрованы, а закрыты?

Intrepidd
источник
По умолчанию (хотя это еще не тот алгоритм), вы получите из nmap только открытые порты, а не закрытые или фильтрованные. nmap -p 12 www.google.com обычно показывает его как отфильтрованный.
Nos

Ответы:

14

С Nmap Scan вы обычно получаете 3 состояния:

  • Open - удаленный компьютер ответил SYN / ACK на ваш SYN
  • Закрыто - удаленный компьютер отклонил попытку подключения с помощью пакета RST
  • Отфильтровано - ничего не возвращено, истекло время ожидания

Открытие netcat для порта 80 и ожидание ничего не сделает. Порт 80 (обычно) означает, что http-сервер прослушивает другую сторону и ожидает HTTP-команду (до своего истечения времени ожидания). После netcatting к порту 80 попробуйте sedinng a, GET /чтобы видеть, получаете ли вы ответ (вероятно, ошибка http).

mulaz
источник
8

Закрытый порт - это порт, который не прослушивает какое-либо программное обеспечение, поэтому попытка установить соединение с этим портом в этой системе приведет к отправке системой пакета TCP RST.

Отфильтрованный порт, с другой стороны, обычно является портом, который заблокирован брандмауэром в сетевом пути, поэтому попытка установить соединение с этим портом в этой системе ничего не вернет ... даже TCP RST ... поэтому попытка подключения будет продолжаться до тех пор, пока не истечет время ожидания попытки подключения.

Джефф МакАдамс
источник
Это правда, но не отвечает на мой вопрос. Откройте netcat на google.com через порт 42, вы не получите пакет RST, но nmap пометит этот порт как закрытый.
Intrepidd
Мой nmap для google.com, включая порт 42, возвращает его как отфильтрованный, а не закрытый.
Джефф Макадамс
Плохо, я думал, что все не показанные порты были закрыты, но это зависит от общего результата.
Intrepidd