Для чего нужны номера портов
Порт (TCP/IP)
В протоколах TCP и UDP (семейства TCP/IP) порт — идентифицируемый номером системный ресурс, выделяемый приложению, выполняемому на некотором сетевом хосте, для связи с приложениями, выполняемыми на других сетевых хостах (а также c другими приложениями на этом же хосте).
Основное правило необходимое для понимания работы порта: 1) Порт может быть занят только одной программой и в этот момент не может использоваться другой. 2) Все программы для связи между собою посредством сети используют порты.
Для каждого из протоколов TCP и UDP стандарт определяет возможность одновременного выделения на хосте до 65536 уникальных портов, идентифицирующихся номерами от 0 [1] до 65535. При передаче по сети номер порта в заголовке пакета используется (вместе с IP-адресом хоста) для адресации конкретного приложения (и конкретного, принадлежащего ему, сетевого соединения).
В обычной клиент-серверной модели приложение либо ожидает входящие данные (или запроса на соединение; «слушает порт»; роль сервера), либо посылает данные (или запрос на соединение) на известный порт, открытый приложением-сервером (роль клиента).
По умолчанию приложению выдается порт с произвольным (например, ближайшим свободным, большим 1023) номером. При необходимости приложение может запросить конкретный (предопределённый) номер порта. Так, веб-серверы обычно открывают для ожидания соединения предопределённый порт 80 протокола TCP.
Содержание
Состояния порта
Возможны следующие состояния порта, показываемые netstat и nmap:
| Состояние | Описание |
|---|---|
| open | программа-сервер готова принимать подключения |
| listen | |
| filtred | файрвол или иная причина не позволяет nmap’у определить открыт или закрыт порт |
| closed |
Номера портов
Порты TCP не пересекаются с портами UDP. То есть, порт 1234 протокола TCP не будет мешать обмену по UDP через порт 1234.
Ряд номеров портов стандартизован (см. Список портов TCP и UDP). Список поддерживается некоммерческой организацией IANA.
В большинстве UNIX-подобных операционных систем прослушивание портов с номерами 0—1023 (почти все из которых зарегистрированы) требует особых привилегий. Каждый из остальных портов может быть захвачен первым запросившим его процессом. Однако, зарегистрировано номеров намного больше, чем 1024.
Краткий список номеров портов
Подразумевается использование протокола TCP там, где не оговорено иное.
Порты отправителя и получателя
TCP- или UDP-пакеты всегда содержат два поля номера порта: отправителя и получателя. Тип обслуживающей программы определяется портом получателя поступающих запросов, и этот же номер является портом отправителя ответов. «Обратный» порт (порт отправителя запросов, он же порт получателя ответов) при подключении по TCP определяется клиентом произвольно (хотя номера меньше 1024 и уже занятых портов не назначаются), и для пользователя интереса не представляет. Использование обратных номеров портов в UDP зависит от реализации.
Ссылки
Примечания
Полезное
Смотреть что такое «Порт (TCP/IP)» в других словарях:
Порт (TCP/UDP) — Сетевой порт параметр протоколов UDP, определяющий назначение пакетов данных в формате Это условное число от 0 до 65535, позволяющие различным программам, выполняемым на одном хосте, получать данные независимо друг от друга (предоставляют так… … Википедия
TCP — Название: Transport Control Protocol Уровень (по модели OSI): Транспортный Семейство: TCP/IP Порт/ID: 6/IP Спецификация: RFC 793 / STD 7 Основные реализации … Википедия
Порт (значения) — Порт: В Викисловаре есть статья «порт» Порт (лат. portus «гавань», «пристань») … Википедия
Tcp — Название: Transmission Control Protocol Уровень (по модели OSI): Транспортный Семейство: TCP/IP Порт/ID: 6/IP Спецификация: RFC 793 / STD 7 Основные реализации: Linux, Windows Расширяемость … Википедия
TCP/IP — Стек протоколов TCP/IP (англ. Transmission Control Protocol/Internet Protocol) набор сетевых протоколов разных уровней модели сетевого взаимодействия DOD, используемых в сетях. Протоколы работают друг с другом в стеке (англ. stack, стопка)… … Википедия
Порт — номер порта TCP, который идентифицирует процесс или приложение внутри компьютера. Для клиентских приложений номер порта динамически назначается операционной системой. Для программных серверов номера портов не изменяются и предписаны Internet… … Финансовый словарь
TCP-порт — Сетевой порт параметр протоколов UDP, определяющий назначение пакетов данных в формате Это условное число от 0 до 65535, позволяющие различным программам, выполняемым на одном хосте, получать данные независимо друг от друга (предоставляют так… … Википедия
Порт (IP) — Сетевой порт параметр протоколов UDP, определяющий назначение пакетов данных в формате Это условное число от 0 до 65535, позволяющие различным программам, выполняемым на одном хосте, получать данные независимо друг от друга (предоставляют так… … Википедия
Порт (Интернет) — Сетевой порт параметр протоколов UDP, определяющий назначение пакетов данных в формате Это условное число от 0 до 65535, позволяющие различным программам, выполняемым на одном хосте, получать данные независимо друг от друга (предоставляют так… … Википедия
Порт (протокол) — Сетевой порт параметр протоколов UDP, определяющий назначение пакетов данных в формате Это условное число от 0 до 65535, позволяющие различным программам, выполняемым на одном хосте, получать данные независимо друг от друга (предоставляют так… … Википедия
Что такое TCP- и UPD-порты
Сервисы и порты
На подключенном к сети сервере могут одновременно работать различные программы, которые принимают и обрабатывают данные, например, запросы к web-серверу или сообщения электронной почты. Эти программы называются сетевыми сервисами.
Каждая приходящая на сервер порция данных предназначена для обработки определенным сервисом.
Для того, чтобы сетевая подсистема сервера различала данные, адресованные определенным сервисам, и правильно распределяла их, в протокол TCP/IP было введено понятие номера порта.
Пакеты данных и их заголовки
Каждый пакет данных имеет специальный заголовок, содержащий служебную информацию.
Сетевая подсистема сервера анализирует заголовок пакета, находит номер порта и, согласно его значению, направляет данные той или иной работающей на сервере программе-сервису.
Каждая принимающая сетевые данные программа на сервере при запуске сообщает операционной системе, что готова получать и обрабатывать данные, адресованные на определенный порт.
Распределение пакета данных IP по сервисам в соответствии с номером порта
TCP- и UDP-порты
Порты используются протоколами TCP или UDP.
Протокол UDP предназначен для быстрой передачи порции данных без гарантии доставки и без предварительной установки соединения.
Оба протокола в заголовке пакета данных указывают порт получателя, а также исходящий номер порта. Протокол TCP устанавливает соединение, при котором данные между сервером и клиентом обмениваются между исходящим портом клиента и входящим портом сервера.
Диапазоны портов
Номер порта может находиться в диапазоне от 0 до 65535. Как и другие используемые в сети Интернет ресурсы, номера портов стандартизированы. Все порты в диапазоне 1-1023 называются “системными портами” и распределены, согласно списку, от координационного центра Internet организации IANA.
Порты в диапазоне 1024-49151 называются “пользовательскими”, и они предназначены для настройки дополнительных сервисов по выбору пользователя.
Оставшиеся порты из диапазона 49152-65535 называются “динамическими” и предназначены для использования операционной системой для установки соединений в рамках протокола TCP/IP.
Система Linux применяет в качестве динамических портов диапазон 32768-60999.
Список портов и протоколов
Технически администратор сервера может гибко настраивать используемые порты для каждого из запускаемых на сервере сетевых сервисов. Например, при желании он может изменить номер порта, на котором работает web-сервер, с 80 на 8080. Но при этом, если пользователи не знают, что номер порта изменен, то они не смогут присоединиться к web-серверу. Поэтому для публичных сетевых сервисов принято применять стандартные номера портов.
Если вы работаете с интернет-сервисами, то будет лучше выучить наизусть номера портов, используемых для наиболее часто встречающихся сервисов: HTTP, HTTPS, FTP, SSH, почтовых протоколов.
Таблица наиболее важных и распространенных номеров портов выглядит так:
Порты и URL
Номер порта можно указывать в ссылках на web-ресурсы, то есть в URL (Universal Resource Locator). Это делается с помощью двоеточия, за которым следует номер порта. Если используется стандартный порт протокола HTTP (80) или HTTPS (443), то тогда он не указывается в URL.
Пример URL с указанным номером порта: HTTP://www.myserver.ru:1500/manager
Как просмотреть список используемых портов на сервере
Для пользователей виртуальных и выделенных серверов может понадобиться просмотреть список применяемых на сервере портов TCP и UDP. Для этой задачи в операционной системе Linux имеется утилита Netstat.
Утилита Netstat работает из командной строки. Чтобы просмотреть список используемых для входящих соединений портов, прослушиваемых запущенными на сервере сетевыми сервисами, примените следующую команду:
Netstat выводит информацию в несколько колонок. Номер порта, на который принимаются соединения, можно увидеть в колонке “Local address”. Также в колонке “PID/Program name” можно увидеть, какая программа на сервере слушает конкретный порт.
Порты и безопасность сервера
Порты TCP и UDP используются для соединения с сервером, а значит, могут подвергаться атакам. Например, протокол SSH работает по умолчанию на порте 22, и злоумышленники часто ведут атаку на этот порт, пытаясь подобрать пароль от сервера.
Для повышения уровня безопасности вы можете изменить номер порта для SSH. Например, замените порт 22 на 2222.
1. Отредактируйте на сервере файл /etc/ssh/sshd_config.
2. Найдите в файле строку “Port 22” и измените ее на “Port 2222”.
3. Перезагрузите программу-сервис sshd командой:
Теперь сервер будет принимать SSH-соединения по нестандартному порту 2222, который не известен злоумышленникам.
В других случаях порты менять не нужно, так как большинство плагинов, модулей, почтовых программ и другого стороннего ПО для работы с сайтами и серверами настроено по умолчанию для работы по стандартным портам.
Выводы
1. TCP и UPD- протоколы транспортного уровня:
2. Для просмотра списка используемых на сервере портов TCP и UDP используйте утилиту Netstst в операционной системе Linux.
3. Номера портов сервисов HTTP, HTTPS, FTP, SSH и почтовых протоколов лучше выучить наизусть для более комфортной работы.
Что такое порт?
Просто идентификатор, чтобы определить получателя.
Пакет идет до IP адреса вашего компьютера.
А куда дальше? Кто будет этот пакет обрабатывать, кому он предназначен? Может это часть видефильма который вы смотрите, может это пакет сообщения для мессенджера, может это обновление для виндовс.
Вот чтобы определить кому именно на компьютере адресован пакет, используют порт.
Программы договариваются что будут пересылать данные друг для друга с определенной пометкой (номер порта).
В итоге когда пакет приходит компьютер по номеру порта отдает его соответствующей программе которая подписана на этот порт.
осуществляю запрос на «конкретное место на сервере сайта»
Не совсем представляю что такое конкретное место на сервере и что такой сервер сайта.
к примеру если я осуществляю запрос GET на определённый IP на порт 80 по протоколу HTTP,
Представьте, что у вас дома 2 компьютера и они подключены к одному роутеру. Для всего интернета IP адрес этих компьютеров одинаковый (так как внешний IP, который виден в интернете есть только у роутера). В этом случае, чтобы обратиться к конкретному компьютеру, нужен порт. Например, на роутере настроено, что у одного из компьютеров открыт порт 8245. Роутер имеет IP 95.84.208.79. Тогда обратиться к этому компьютеру можно так:
IP адрес — это номер квартиры друга.
Порт — это комната, в которой живёт друг
Представьте, что у вас дома 2 компьютера и они подключены к одному роутеру. Для всего интернета IP адрес этих компьютеров одинаковый (так как внешний IP, который виден в интернете есть только у роутера). В этом случае, чтобы обратиться к конкретному компьютеру, нужен порт.
Адресация с использованием номеров портов
Рассмотрим пример в одной из предыдущих статей, где компьютер одновременно получает и отправляет e-mail, мгновенные сообщения, веб страницы и телефонные звонки (VoIP).
Основанные на TCP и UDP службы отслеживают множество приложений, осуществляющих коммуникацию. Чтобы различать сегменты и датаграммы для каждого приложения, как TCP, так и UDP имеют поля в заголовке, которые могут однозначно определить эти приложения. Эти уникальные идентификаторы представляют собой номера портов.
Номера портов назначаются различными способами, в зависимости от того, является сообщение запросом или ответом. Серверные процессы имеют статические номера портов, а клиентские процессы динамически выбирают номер порта для каждого диалога.
Когда клиентское приложение посылает запрос приложению на сервере, порт назначения в заголовке указывает на демона службы, работающей на удаленном хосте. Клиентское ПО должно знать, какой номер порта ассоциирован с серверным процессом удаленного компьютера. Этот номер порта назначения конфигурируется вручную, либо устанавливается по умолчанию. Например, когда веб браузер делает запрос на веб сервер, браузер использует TCP и номер порта 80, если не указан другой номер. Это происходит потому, что TCP порт 80 по умолчанию ассоциирован с веб-приложениями. Многие распространенные приложения имеют номера, используемые по умолчанию.
Порт источника в заголовке сегмента или датаграммы клиентского запроса генерируется случайным образом из диапазона номеров портов больше 1023. В том случае, если номер не конфликтует с другими портами, используемыми в системе, клиент может выбрать произвольный номер порта из диапазона номеров портов по умолчанию для операционной системы. Этот номер порта действует наподобие обратного адреса для приложения, осуществляющего запрос. Транспортный уровень отслеживает этот порт и приложение, которое инициировало запрос, так что при передаче ответа, он может быть направлен корректному приложению. Номер порта запрашивающего приложения используется в качестве номера порта назначения в сообщении-ответе, возвращающемся с сервера.
Комбинация номера порта Транспортного уровня и IP адреса Сетевого уровня, назначенного хосту, однозначно определяет конкретный процесс, работающий на конкретном хостовом устройстве. Эта комбинация называется сокетом. Кое-кто использует термины порт и сокет взаимозаменяемо. В контексте этой и последующих статей, термин сокет будет подразумевать исключительно уникальную комбинацию IP адреса и номера порта. Пара сокетов, состоящая из IP адресов хостов источника и назначения, а также номеров портов, однозначно определяет конкретный диалог между двумя хостами.
Например, HTTP запрос веб страницы, посланный на веб сервер (порт 80), работающий на хосте с IPv4 адресом третьего уровня 192.168.1.20, будет направлен на сокет 192.168.1.20:80.
Если веб браузер, запрашивающий веб страницу, работает на хосте 192.168.100.48 и Динамический номер порта, назначенный веб браузеру, равняется 49152, то сокетом для веб страцицы будет 192.168.100.48:49152.
Номер порта TCP и UDP
Что такое номер порта в сети?
Номера портов позволяют различным приложениям на одном компьютере одновременно использовать сетевые ресурсы. Маршрутизаторы домашней сети и компьютерное программное обеспечение работают с этими портами и иногда поддерживают настройку параметров номера порта.
Сетевые порты основаны на программном обеспечении и не связаны с физическими портами, которые имеют сетевые устройства для подключения кабелей.
Как работают номера портов
Эти номера портов работают как телефонные номера. Так же, как коммутатор для служебных телефонов может использовать основной номер телефона и назначать каждому сотруднику добавочный номер (например, x100, x101 и т. Д.), Так и компьютер может иметь основной адрес и набор номеров портов для обработки входящих и исходящих соединений.
Точно так же, как один телефонный номер может использоваться для всех сотрудников в этом здании, один IP-адрес может использоваться для связи с различными видами приложений за одним маршрутизатором; IP-адрес идентифицирует конечный компьютер, а номер порта – конкретное целевое приложение.
Когда вам нужно принять меры с номерами портов
Номера портов обрабатываются аппаратным и программным обеспечением сети автоматически. Обычные пользователи сети не видят их и не должны предпринимать никаких действий, связанных с их работой.
Тем не менее, отдельные лица могут сталкиваться с номерами сетевых портов в определенных ситуациях.
Программистам сети иногда необходимо указывать номера портов в своем коде, например, при программировании сокетов.
URL-адрес веб-сайта иногда требует указания определенного номера порта TCP. Например, http://localhost:8080/ использует TCP-порт 8080, а не порт 80 по умолчанию. Опять же, это обычно наблюдается в средах разработки программного обеспечения больше, чем в обычном потребительском использовании.
Открытые и закрытые порты
Энтузиасты сетевой безопасности также часто обсуждают номер порта, используемый в качестве ключевого аспекта уязвимости и защиты от атак. Порты могут быть классифицированы как открытые или закрытые, где открытые порты имеют ассоциированное приложение, прослушивающее новые запросы на соединение, а закрытые порты – нет.
Процесс, называемый сканированием сетевого порта, обнаруживает тестовые сообщения для каждого номера порта индивидуально, чтобы определить, какие порты открыты. Сетевые специалисты используют сканирование портов в качестве инструмента для измерения их подверженности злоумышленникам и часто блокируют свои сети, закрывая ненужные порты. Хакеры, в свою очередь, используют сканеры портов для проверки сетей на наличие открытых портов, которые могут быть использованы.
Команда netstat в Windows может использоваться для просмотра информации об активных соединениях TCP и UDP.








