Порт — не пронумерованное отверстие в компьютере. Он помогает системе различать соединения. Сервер может предоставлять несколько служб на одном IP-адресе: операционная система направляет входящее соединение нужному приложению. У клиента тоже есть собственная конечная точка. Вместе эти две точки позволяют отличить соединение от других обменов, происходящих одновременно.
Спецификация TCP RFC 793, опубликованная в сентябре 1981 года, уже описывала связь между портами, сокетами и процессами. Распространённые службы могли использовать известные конечные точки, а другие соединения — находить их динамически. Это часть устройства TCP, а не изобретение современной Всемирной паутины. Поэтому порт назначения и временный порт на стороне клиента выполняют разные задачи, хотя оба отображаются обычными числами.
Общие соглашения сделали номера понятными для разных компьютеров и программ. RFC 6335, опубликованный в августе 2011 года, описал порядок регистрации имён служб и номеров портов. Реестр согласует назначения, но не исследует ваш сервер. Если наш сканер подписывает порт 22 как SSH, это привычная справочная ассоциация. Она не определяет реально запущенную программу и не подтверждает безопасность доступа к ней.
В августе 2022 года основную спецификацию TCP объединили в RFC 9293. Её принципы важны и для служб за обратными прокси или балансировщиками нагрузки. Соединение может достигнуть входной точки, когда приложение за ней недоступно. Мы хотим помочь вам сформулировать следующий полезный вопрос, а не принять доступность конечной точки за полную проверку работоспособности или безопасности.