Порты (TCP, UDP) – что это такое, какие бывают, как открыть, закрыть и пробросить порт

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

Определение

Лучше всего объяснить это на примере. Представьте, что у вас есть компьютер, который уже подключен к Интернету. Этот компьютер имеет собственный IP-адрес, который идентифицирует его среди множества других сетевых устройств, расположенных в Интернете.

Порты (TCP, UDP): что это такое, что это такое, как открыть, закрыть и пробросить порт

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

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

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

Порты (TCP, UDP): что это такое, что это такое, как открыть, закрыть и пробросить порт

Вообще говоря, IP (в нашем примере) — это домашний адрес. Но когда почтальон приходит в дом, он не знает, в какую квартиру отнести письмо. А вот порт, это номер квартиры. На данный момент имеется определенное количество портов — 65 535. Можно увидеть аналогию с многоквартирным домом, фактически в каждом доме есть определенное количество квартир.

Некоторые порты на компьютере могут быть открыты или закрыты в зависимости от конфигурации системы. Кроме того, некоторые приложения открывают собственные порты или используют соседние порты. Также не забывайте, что для передачи информации по сети используется модель TCP/IP или UDP. Еще один пример, который может точнее объяснить, для чего нужны сетевые порты на компьютере.

Вася решила завести собственный сайт на своем компьютере. После дизайна он решил загрузить его на свой компьютер. Конечно, он мог бы арендовать сервер, но решил сэкономить. Интернет подключен напрямую к системному блоку. Теперь вопрос к знатокам: при выполнении запроса из интернета, как компьютер поймет, что по запросу должны быть возвращены именно страницы сайта, а не данные в общей папке или ответ от какого-то запущенного приложения?

Вот где порт вступит в игру. При этом чаще всего используются номера: 80 или 8080. Именно поэтому Вася должен открыть на своем компьютере локальный порт для своего сайта. Конечно, объяснение было немного грубым, и там все гораздо сложнее, но моя задача была именно объяснить суть и назначение порта. Потому что толкового объяснения почему-то нигде нет, и многие оперируют сложными техническими понятиями.

Номера портов

И так, товарищ, теперь ты почти просветился и понял, что такое порт. Теперь поговорим о понятии «номер порта». Как я уже говорил, на каждом компьютере, сервере, роутере ровно 65 535 портов. Конечно, не все они используются и есть свободные «адреса».

От 0 до 1023 это «апартаменты», зарезервированные для систем Windows и Linux. Что касается Mac OS, то не могу сказать, что не работал с этой операционной системой. Затем от 1024 до 49151 можно свободно использовать записи. То есть их могут использовать отдельные приложения, утилиты или даже системные службы. Некоторые программы могут использовать один и тот же номер одновременно.

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

Но со временем назначенные услуги были закреплены за определенными портами. Вот пример некоторых из них:

  • 20, 21: FTP
  • 22—СШ
  • 23:Телнет
  • 25 — SMTP
  • 43: ВОЗ
  • 53: DNS
  • 67, 68: DHCP
  • 80: HTTP (веб-порт)
  • 110:POP3
  • 113: IRC-аутентификация
  • 143: ИМАП
  • 161 — SNMP
  • 194: ЦРИ
  • 389 — LDAP
  • 443:https
  • 587-SMTP
  • 631: ЧАШКИ

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

ПРИМЕЧАНИЕ! Маршрутизаторы и интернет-провайдеры также имеют настройки портов.

Просмотр открытых и закрытых портов

Чтобы просмотреть все используемые, заблокированные или ожидающие в очереди входные номера, вы можете сделать это через консоль. В Windows достаточно зайти в командную строку: для этого нажмите кнопки и R и введите команду «cmd». Далее вам нужно будет ввести:

netstat -a

Порты (TCP, UDP): что это такое, что это такое, как открыть, закрыть и пробросить порт

В Kali Linux мы набираем другую команду:

минус /usr/share/nmap/nmap-services

Для удобства все же советую использовать удобную программу «Анализатор процессов и портов». На нем в более удобной форме показан весь список портов, задействованных в данном устройстве. Вы можете просмотреть зарезервированные, бесплатные и используемые номера.

Порты (TCP, UDP): что это такое, что это такое, как открыть, закрыть и пробросить порт

Таблица портов

WIFIELEK.RU