Открыть сервисСервис

Порт в сфере информационных технологий

Порт в информационных технологиях — это числовой идентификатор, используемый в сетевых протоколах транспортного уровня (прежде всего TCP и UDP) для адресации конкретного процесса или службы на узле сети. Вместе с IP-адресом порт образует так называемый сокет — конечную точку сетевого соединения. Номер порта представляет собой 16-битное беззнаковое число в диапазоне от 0 до 65535, что позволяет одновременно различать до 65 536 логических каналов на одном сетевом интерфейсе.

Назначение и принцип работы

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

Без портов одновременная работа нескольких сетевых приложений на одном узле была бы невозможна: например, веб-сервер, почтовый сервер и служба удалённого доступа используют разные порты и не конфликтуют друг с другом.

Диапазоны портов

Согласно рекомендациям IANA (Internet Assigned Numbers Authority), номера портов делятся на три категории:

ДиапазонНазваниеНазначение
0–1023Системные (well-known)Зарезервированы за стандартными службами, требуют привилегий администратора
1024–49151Пользовательские (registered)Регистрируются за конкретными приложениями и компаниями
49152–65535Динамические (ephemeral)Временно выделяются клиентским приложениям для исходящих соединений

Системные порты назначаются централизованно и закреплены за наиболее распространёнными протоколами. Так, порт 80 закреплён за HTTP, 443 — за HTTPS, 25 — за SMTP, 53 — за DNS, 22 — за SSH, 21 — за FTP, 3389 — за протоколом удалённого рабочего стола RDP.

Типы портов по протоколам

Порты существуют в рамках конкретного транспортного протокола, поэтому один и тот же номер в TCP и UDP обозначает разные логические каналы. Например, порт 53 используется службой DNS как в UDP (для обычных запросов), так и в TCP (для передачи больших зон и резервного копирования). Протокол TCP обеспечивает установление соединения и гарантированную доставку, тогда как UDP работает без установления соединения и применяется там, где важнее скорость, а не надёжность.

Сканирование портов

Сканирование портов — метод анализа узла сети, при котором последовательно проверяется доступность портов и определяется, какие службы на них запущены. Применяется как администраторами для инвентаризации и аудита собственных систем, так и злоумышленниками для поиска уязвимостей. Наиболее известный инструмент сканирования — утилита Nmap, выпущенная в 1997 году Гордоном Лайоном. Открытые порты, не соответствующие штатной конфигурации, считаются потенциальным признаком компрометации узла.

Безопасность и проброс портов

Порт служит точкой входа в систему, поэтому его состояние напрямую влияет на защищённость. Открытый наружу порт с устаревшей версией службы — типичный вектор атаки. Для снижения рисков применяют межсетевые экраны (файрволы), фильтрующие трафик по номерам портов, а также проброс портов (port forwarding) — перенаправление внешнего трафика на внутренний узел локальной сети. Проброс широко используется в домашних маршрутизаторах для доступа к локальным сервисам из интернета.

Порты в России и практика применения

В российской практике администрирования сетей порты регулируются в первую очередь техническими регламентами и рекомендациями регулятора в области связи. Операторы связи и хостинг-провайдеры нередко ограничивают исходящие соединения по порту 25 для борьбы со спамом, а также блокируют доступ к ряду портов на уровне сетевого оборудования. Согласно требованиям Роскомнадзора, операторы обязаны ограничивать доступ к запрещённым ресурсам, что технически реализуется в том числе фильтрацией по IP-адресам и портам.

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

Сокеты и программирование

В прикладном программировании порт фигурирует через абстракцию сокета. Программист указывает IP-адрес и порт при создании серверного сокета, после чего приложение начинает принимать входящие соединения. Клиентское приложение при подключении получает динамически выделенный порт источника, что позволяет отличать параллельные соединения одного и того же клиента к одному серверу. В языках программирования существуют стандартные библиотеки для работы с сокетами: модуль socket в Python, пакет java.net в Java, библиотека Winsock в Windows, Berkeley sockets в Unix-подобных системах.

Диагностика и утилиты

Для работы с портами применяется набор стандартных утилит:

  • netstat — отображает активные соединения и прослушиваемые порты;
  • ss — современная замена netstat в Linux;
  • lsof — показывает, какие процессы занимают порты;
  • telnet и nc (netcat) — проверка доступности порта;
  • nmap — сканирование и определение служб.

Эти инструменты входят в стандартный арсенал системного администратора и специалиста по информационной безопасности.

Значение

Порт — фундаментальное понятие сетевых технологий, обеспечивающее мультиплексирование сетевых соединений на одном узле. Понимание принципов работы портов необходимо при настройке серверов, разработке сетевых приложений, обеспечении информационной безопасности и администрировании инфраструктуры. Нумерация портов стандартизирована на международном уровне, что обеспечивает совместимость оборудования и программного обеспечения разных производителей.

Источники: RFC 793 (Transmission Control Protocol), RFC 768 (User Datagram Protocol), реестр IANA Service Name and Transport Protocol Port Number Registry, документация Nmap, материалы по администрированию сетей.

Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru