что такое порт в сети интернет
Сетевые порты компьютера и их назначение, как открыть порт или закрыть?
Когда пакет достигает цели, протокол транспортного уровня (в нашем случае TCP/IP), принимает дейтаграмму, считывает номер порта из соответствующего поля и передает эту информацию программе (или протоколу), которая начинает работу с полученными данными.
Всем основным приложениям в Интернет присвоены определенные номера портов, которые называют «хорошо известными портами». Например, стандартный порт WEB — сервера идет под номером 80, прокси-сервер может иметь номер 8080, FTP сервер работает с портом 21 или 20.
Кратко перечислю хорошо известные номера портов в разрезе сервисов:
Когда трафик перенаправляется другой системе, TCP/IP использует комбинацию IP адреса и определенного порта. Такая связка называется «Сокет». К примеру, из Интернета или локальной сети можно получить доступ к папке фтп-сервера, указав через двоеточие IP- адрес и порт: 192.168.0.3:21.
Хорошо известные номера портов не являются чем-то жестко регламентируемым. Их можно менять своему усмотрению. В этом случае в настройках программы прописывается нужный порт, а при обращении к нему через браузер его так же нужно указывать в адресной строке. Это необходимо делать для проверки на открытость или закрытость того или иного порта.
Что такое динамические порты FTP
Поскольку обычно запросы идут на сервер от клиента (а не наоборот), то хорошо известные номера портов актуальны для серверов. Они «слушают» через порты своих клиентов, которым эти номера не нужны. На время связи программа- клиент (или операционная система) использует свой временный номер порта, или некий диапазон номеров. IANA задает номера от 1 до 1023. А временные номера начинаются с 1024 и выше. Программа FTP- клиент работает таким же образом — у нее указан свой временный диапазон, по которому она пытается «достучаться» до нужного сервера.
Когда мы настраиваем FTP — сервер, мы прописываем 21 порт для передачи данных. Но, программа, которая непосредственно руководит сервером, должна не только передавать данные, а еще давать доступ к данным пользователями этого сервера. С помощью такого же диапазона временных (или динамических) портов. Через эти порты она «слушает»пользователей ФТП сервера и устанавливает соединения. Диапазон динамических портов FTP задается при настройке соответствующей программы:
В Windows Server 2012-2016 можно задать произвольный диапазон портов прямо в операционной системе, не пользуясь сторонними программами. Диапазон номеров задается от 1024 до 65535, это ограничение транспортного протокола.
Как проверить порты на роутере
Здесь речь идет о возможности доступа к вашему компьютеру из Интернет. К примеру, у вас дома есть сеть из нескольких компьютеров. Внутри сети доступ к ним существует. А из интернета доступа к ним нет, хотя интернет у вас дома есть. Некоторые «поднимают» у себя дома игровой сервер, чтобы с друзьями играть по сети. В этом случае нужен доступ к серверу из Интернет, что и осуществляется форвардингом портов.
Открытые порты могут угрожать безопасности компьютера. Если вашему компьютеру присвоен внешний IP адрес, то такая проверка актуальна для Вас. Проверить можно с помощью многочисленных онлайн сервисов. Вводите свой внешний IP и готово:
Нормальной (с точки зрения безопасности) ситуацией считается когда все порты на роутере закрыты. Если адрес присвоен роутеру, то проверять нужно каждый компьютер. На роутере по умолчанию обычно включен файрвол и защита от dos-атак и тогда проверка вам ничего не покажет. В этом случае вам нужно зайти на свой роутер и посмотреть список открытых портов в разделе «Виртуальный сервер» или «Переадресация»:
У меня для фтп включено вот такое правило. Подробнее, как открывать порты на маршрутизаторе я рассказываю тут.
Как проверить открыт порт на компьютере Win 10, или нет
Даже если порт открыт на маршрутизаторе, его можно закрыть на целевом компьютере. И тогда доступа через эту лазейку через интернет не будет. Различные вирусы так же используют в своей работе порты. Если вы видите некий открытый порт у себя, нужно найти программу, которая его использует. Если не находите — тогда нужно проводить антивирусную проверку. Я пользуюсь отечественными бесплатными утилитами — касперский и доктор веб.
Получаем список открытых портов на компьютере сети
Для того, чтобы получить список портов, нужно сначала запустить командную строку (обязательно от имени администратора) :
Будет выведен список сокетов, а так же приложений, которые идентифицированы с ними в данный момент. Можно увидеть и адреса внешних ресурсов, которые обмениваются данными с портами:
Порты компьютера и файрвол
Файрвол (или брандмауэер) это фильтр, который закрывает порты кроме хорошо известных, и тех которые используются установленными программами. Впрочем, и эти порты можно легко закрывать и снова открывать вручную. Данное программное обеспечение идет в составе операционных систем. Дополнительно его можно активировать в антивирусной программе, а так же на роутере.
Каждая из них на своем уровне отсеивает ненужные запросы, в результате чего обмена данными по этим портам не происходит. Безопасность системы в целом становится надежнее. В Windows брандмауэр можно найти в «Панели управления».
Если при входе файрвол у вас выглядит так как у меня — он отключен. Если что-то не работает (например, никак не настроить FTP) то можно отключить его, чтобы убедится что это именно брандамауэр блокирует ваши соединения.
Включить брандмауэр можно нажатием на одноименную ссылку в левой части окна. При этом не делайте максимальной блокировки портов:
У антивирусов свой файрвол, можно использовать и его. Но, это по началу может доставить неудобства, потому что программу надо обучать. При каждом соединении она будет спрашивать у вас разрешения на соединения и прописывать правила. Так как порты временные тоже будут, то процесс обучения растягивается надолго. Поэтому учится открывать порты мы будем на классическом виндовом брандмауэре.
Как открыть порты в брандмауэре Windows 10(49, 50, 4955, 25655)
Чтобы снять фильтры со всех портов — отключаем файрвол насовсем. Если нужна тонкая настройка — тогда будем настраивать каждый порт опционально. Заходим далее в «Дополнительные параметры»:
Затем нам нужно будет настроить правила для входящих и исходящих подключений. Все наглядно — зеленый цвет «разрешено», красный цвет — «запрещено».
Чтобы создать правило — нажимаем правой кнопкой мыши на «входящих подключениях» и создаем нужное нам. Обратите внимание — если у вас есть программа, использующая временные динамические порты — можно указать ее, а не номер порта. Для асов предусмотрены настраиваемые правила — можно настроить фильтр в сочетании со службами и программами.
Мы будем настраивать порт, поэтому выбираем «Для порта» и жмем «Далее».
Выбираем протокол TCP (в случае необходимости можно аналогичные настройки сделать и на UDP протокол).Через запятую указываем нужные порты. Можно через дефис указать диапазон портов, если в этом есть нужда. Далее, переходим к настройкам безопасности подключения.
Безопасное подключение требует проверки подлинности и выбирается, только если используется защищенное соединение. Поэтому выбираем верхний пункт. Далее, мы выбираем все доступные типы сетей на нашем компьютере:
Не забываем указать имя нашего правила, чтобы потом было легко его найти. На этом настройка брандмауэра для входящих подключений завершена.
В списке правил мы теперь видим наше, и в случае необходимости можно его отключить или удалить. Порты закроются.
Для полноценного обмена данными следует сделать такие же настройки правил для исходящих подключений. Если вы планируете через эти порты настроить доступ из интернета — нужно пробросить эти порты на роутере. А на сегодня информации достаточно, удачи!
Что такое порт в программировании
С ними компьютер не путает, что и куда отправлять
Какие бывают порты
В компьютерах есть два вида портов — физические и программные.
Физический порт — это разъём на компьютере или в ноутбуке, куда можно подключить флешку, сетевой кабель, принтер, наушники и что угодно ещё. Физический порт обменивается электричеством с чем-то, что в этот порт вставлено. В электричестве закодированы какие-то данные.
Программный порт — это «виртуальный разъём» в программе, через которую она может обмениваться данными с системой и другими программами. У него нет физического устройства, а есть только число от 0 до 65 535 — оно называется адресом порта. Мы будем говорить именно про них.
Типичный набор портов в современной материнской плате
Для чего нужны порты
Представьте, что у вас в компьютере есть разъём для локальной сети и интернета. В него воткнут всего один кабель. Но одновременно сетью и интернетом пользуются разные программы:
👉 С вайфаем всё то же самое — всё это идёт через один разьём на материнской плате. То, что нет проводов, ничего не меняет — все данные всё равно сыпятся в один физический порт.
Чтобы при работе в сети программы и сервисы не путали данные между собой, разработчики придумали порты — они определяют, к какой программе относятся те данные, которые получает сетевая плата.
Как выглядит виртуальный порт
Мы уже работали с портами, когда собирали статичный сайт на Hugo, и тогда мы открывали в браузере такой адрес:
«Локалхост» означает, что браузер будет искать страницу на своём компьютере по адресу 127.0.0.1, а 1313 — это как раз порт. Порт от адреса отделяется двоеточием.
С технической точки зрения порт — это просто число, которое прикрепляется к каждому пакету с данными, поступающими в компьютер. Система смотрит, какой номер порта стоит на пакете, находит программу, которая его использует, и отправляет ей. В этом и смысл портов — чтобы система всегда знала, кому какие данные отдавать и кто их отправляет.
Что можно сделать с портом
Можно ничего не делать — с точки зрения пользователя всё работает само. И правильно, и хорошо.
Что такое сетевой порт?
Сетевой порт — идентифицируемый номером системный ресурс, выделяемый приложению, выполняемому на некотором сетевом хосте, для связи с приложениями, выполняемыми на других сетевых хостах (в том числе c другими приложениями на этом же хосте).
Для каждого из протоколов TCP и UDP стандарт определяет возможность одновременного выделения на хосте до 65536 уникальных портов, идентифицирующихся номерами от 0 до 65535. При передаче по сети номер порта в заголовке пакета используется (вместе с IP-адресом хоста) для адресации конкретного приложения (и конкретного, принадлежащего ему, сетевого соединения).
В обычной клиент-серверной модели приложение либо ожидает входящие данные (или запроса на соединение; «слушает порт»; роль сервера), либо посылает данные (или запрос на соединение) на известный порт, открытый приложением-сервером (роль клиента).
По умолчанию приложению выдается порт с произвольным (например, ближайшим свободным, большим 1023) номером. При необходимости приложение может запросить конкретный (предопределённый) номер порта. Так, веб-серверы обычно открывают для ожидания соединения предопределённый порт 80 протокола TCP.
Порты TCP не пересекаются с портами UDP. То есть, порт 1234 протокола TCP не будет мешать обмену по UDP через порт 1234.
Ряд номеров портов стандартизован.
Список поддерживается некоммерческой организацией IANA.
В большинстве UNIX-подобных операционных систем прослушивание портов с номерами 0—1023 (почти все из которых зарегистрированы) требует особых привилегий. Каждый из остальных портов может быть захвачен первым запросившим его процессом. Однако, зарегистрировано номеров намного больше, чем 1024.
Что такое 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 и почтовых протоколов лучше выучить наизусть для более комфортной работы.
Что такое порт в сети интернет
Порт обеспечивает определенный физический интерфейс между устройствами. [1] Это также относится к точке соединения между сетями в виде узла в сети, куда пакеты данных направляются по пути к конечному адресу назначения. Это создает 2 определения для порта как существительного. Физически, в качестве внешнего или внутреннего аппаратного компонента, к которому подключаются проводные соединения для создания линий связи и передачи данных. [2] Виртуальный порт, с другой стороны, относится к онлайн-контрагенту или пункту назначения для передачи данных. Также называемый сетевым портом, он определяет точку, куда отправляются данные или информация. Для создания и обслуживания сети необходимы как виртуальные, так и физические порты.
В качестве глагола под портом понимается процесс переписывания или перепрограммирования приложения, созданного для конкретной операционной системы и делающего его доступным для использования в другой ОС. Этот процесс переноса программного обеспечения важен, поскольку не все программы совместимы с различными доступными системами. [3] Это гарантирует, что использование приложения не ограничивается пользователями конкретной ОС.
Cодержание
Типы портов
Существует 2 основные классификации портов: Физические и виртуальные. Каждый тип имеет свое определение, функцию и типы.
Физический порт
Физический порт позволяет подключать внутренние аппаратные компоненты или внешние устройства к главному процессору компьютера. [4] Внутренние порты обеспечивают подключение к компакт-дискам и жестким дискам, которые позволяют компьютеру функционировать. Внешний порт соединяет устройство с модемами, принтерами и другими периферийными устройствами. [5]
Существует несколько типов физических портов, некоторые из наиболее часто используемых портов включают в себя: [6]
Виртуальный порт
В стандартной сети TCP/IP используются 2 основных протокола для передачи данных. [9] Сеть TCP или UDP. И TCP, и UDP относятся к протоколам передачи данных, которые определяют методы, с помощью которых информация передается по сетям. [10] TCP используется, когда устройства подключены непосредственно во время передачи. Оставаясь на связи во время передачи данных, он обеспечивает стабильное соединение, что делает процесс быстрым и эффективным. Недостатком TCP является то, что он слишком полагается на устройство и, таким образом, возлагает на него большую рабочую нагрузку.
В обоих случаях для успешной передачи данных необходим номер интернет-порта. [11] Поскольку сетевой порт используется для идентификации приложения или процесса на устройстве, различным типам сетевых служб или программ присваивается набор номеров портов. [12]
История
Отслеживание концепции портов связано с разработкой самых ранних форм технологии. [13] Использование портов можно наблюдать с конца 1960-х годов, когда использовались основные соединения между компьютерами и другими периферийными устройствами. Однако самым старым идентифицируемым портом является аудиоразъем, который был изобретен в 1878 году. В настоящее время аудиоразъемы по-прежнему широко используются для подключения наушников, динамиков и других аудиоустройств к компьютеру. Изобретение портов для фактического подключения или передачи данных было сделано в 1962 году, когда для создания линий связи был предоставлен RS-232. Этот порт использовался как физические точки соединения между модемами и компьютерами и широко использовался вплоть до 20-го века.
Ethernet-кабели были подключены к компьютерам и модемам через порты Ethernet, которые были введены в 1980 году. Ethernet-подключения создавали пакеты данных в виде фреймов, содержащих заголовок, содержащий адрес источника, адрес назначения и встроенную систему проверки ошибок. Передача видеоданных была доступна в 1987 году с использованием VGA-портов, через которые проходили аналоговые компоненты RGBHV. RGBHV означает Красная, Зеленая, Синяя, Горизонтальная и Вертикальная синхронизация. Этот порт создал стандартный видеовыход размером 640×480 мм. Позднее в том же году порты RS-232 были заменены портом PS/2 и проводами, которые использовались для подключения клавиатуры и мыши к вычислительному устройству.
Компания Apple разработала порт Firewire, обеспечивающий интерфейс последовательной шины, известный как IEEE 1394. Он был выпущен в 1994 году и похож на USB-порты, которые были разработаны в 2000 году. USB-порты широко используются сегодня, с различными версиями, USB 1.0, 2.0, 3.0 и 3.1, обеспечивая лучшую скорость передачи данных.
Кроме того, порты VGA были также заменены портами Digital High Definition Multimedia Interface (HDMI), которые в настоящее время являются стандартом для подключения устройств вывода видео высокой четкости. Порты HDMI обеспечивают высокую пропускную способность линий, которые несут несколько аудио и видео сигналов, так как это тип параллельного порта. Текущий порт Thunderbolt 2011 года интегрирует мультиплекс данных из различных соединений. Он также способен демультиплексировать переплетенные пакеты данных для использования с подключенными устройствами.