Порт

Сетевые порты компьютера: что это такое?

Как только компьютеры собираются обменяться информацией по сети, они сразу открывают информационные порталы для обмена. В архитектуре сети общение между двумя ЛЮБЫМИ системами зиждется на пяти непреложных принципах. Так, чтобы данные “перелетели” из точки А в точку Б, должны быть известны:

  • IP адрес источника информации
  • IP адрес получателя
  • протокол, по которому устройства будут общаться
  • порт передачи источника
  • и порт назначения, используемый транспортным протоколом RFC793

Порт – это некое виртуальное расширение, дополнение к сетевому адресу (как дополнение в цифрах к названию улицы или дому в адресе, по которому вы проживаете). Почтальон придёт на вашу улицу, но письмо не доставит  – он не знает кому, ибо номер квартиры ему не известен. Так и информация дойдёт до вашего компьютера по IP , но без надлежащего номера порта информация в компьютер не попадёт. Компьютер просто не поймёт, как обработать её, с помощью какого приложения. Сетевые порты компьютера – это тропинки между сервисами и службами, которые запущены в установленной на компьютере операционной системе и материнскими\сестринскими процессами на компьютерах-хостах, которые находятся порой за тысячи километров от вас. 

Кстати, у материнской платы тоже есть порт. Это физические разъёмы, которые, в отличие от описываемых, можно потрогать. Но функцию они выполняют, в сущности, ту же: все порты призваны принимать информацию с других устройств.

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

Что такое порты компьютера: а сколько их?

В компьютере точное количество портов – 65 535. И ух них есть своя градация. Так,  порты с номерами до 1023 Линукс и Unix-подобными ОС считаются за “критически важные” для сетевой деятельности системы, так что для доступа к ним и службам, с ними связанными часто требуются root права. Windows также их считает системными и пристально следит за ними.

Порты от 1024 до 49151 имеют гриф “готовые к регистрации”. Это означает, что данные порты зарезервированы или могут быть зарезервированы за определёнными  службами. К счастью или сожалению, они за этими сервисами не закреплены прочными правилами, однако могут дать ключ для распознавания запущенной программы на стороне хоста. Остальные (начиная с 49152) порты не зарегистрированы и используются по усмотрению пользователей ОС и имеют название “динамические” порты. Так что запоминать, какой порт под какую службу “заточен”, часто просто бесполезно (по крайней мере, сегодня; однако ситуация может измениться). Но существует список портов, которые уже “испокон веков” используются конкретными сервисами:

20: FTP данные21: FTP контроль22: SSH23: Telnet <= незащищённый, так что не рекомендуется к использованию25: SMTP43: WHOIS53: DNS сервисы67: DHCP сервис68: DHCP клиент80: HTTP трафик <= обычный веб трафик110: POP3 почтовый113: сервисы аутентификации в IRC сетях143: IMAP почтовый161: SNMP194: IRC389: LDAP443: HTTPS <= защищённый сетевой трафик587: SMTP <= добавление сообщений631: CUPS порт для виртуальных принтеров.

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

  • Порт – сетевая локализация в операционной системе с присвоением конкретного числового значения для обмена информацией по соответствующим протоколам
  • Интернет-сокеты – или просто сокеты – файловые дескрипторы, конкретизирующие IP адрес и ассоциированный с ним номер порта плюс специальный протокол передачи, который будет работать с данными
  • Привязка – процесс использования службой или сервисом интернет-сокета при передаче и приёме файлов
  • Прослушивание – попытка связаться службой или сервисом с портом/протоколом/IP адресом или комбинацией этих составляющих сетевой идентификации системы с целью стать на ожидание запросов со стороны клиента сервиса
  • Сканирование портов – проверка состояния портов с целью распознать их готовность к дальнейшим действиям

История

Отслеживание концепции портов связано с разработкой самых ранних форм технологии. Использование портов можно наблюдать с конца 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 года интегрирует мультиплекс данных из различных соединений. Он также способен демультиплексировать переплетенные пакеты данных для использования с подключенными устройствами.

Компьютерные порты и сетевая безопасность

Программы, и службы, которые здесь описаны, позволяют вам увидеть порты, открытые именно в вашей ОС (Windows и Linux) для каких-то уже работающих на компьютере программ. Однако помните, что в системе передачи информации между вашим компьютером и далёким веб-сервером где-то в Голландии, стоит ещё немало устройств, которые фильтруют трафик более серьёзно, в том числе контролируя порты (кстати, в том числе и находящийся в вашей же комнате роутер). Не ваши, конечно. Но именно этим серверам решать, попадут ли какие-то данные в вашу Windows. Прикладывает к этому руку и ваш провайдер, которому вы платите деньги за выход в сеть, блокируя порты в целях безопасности или для недопущения излишней сетевой активности (а вдруг вы захотите настроить у себя дома собственный веб-сервер? – не получится).

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

Однако, если вы всё-таки собираетесь узнать, как виден ваш компьютер из глобальной сети (например, злоумышленникам, пытающимся проверить вас на прочность), описанные здесь способы совершенно не подходят. Разовьём эту тему в следующих статьях.

Успехов.

Что такое порт

Порт (port) — это число в десятичной системе счисления от 0 до 65 535, которое записывается в заголовках протоколов транспортного уровня модели OSI, это те же, TCP, UDP и т.д. Применяется для идентификации программы или процесса для обмена пакетами данных в рамках одного IP-адреса. Т.е. по сути — айпи это уникальный адрес узла (устройства), а порт — это идентификатор его приложений или процессов, выходящих в сеть.

Теперь более понятным языком. Как вам известно еще из статьи про TCP/IP протокол — каждое устройство, которое подключается к сети имеет свой собственный и уникальный идентификатор — айпи адрес. Все программы и процессы, которые работают на этом устройстве используют этот уникальный IP. И как они будут идентифицировать друг друга при выходе в сеть? Таким образом, каждая программа или процесс использует свой порт, так они различают друг друга в сети.

Существует ряд стандартных портов, которые используются по умолчанию. Их зарегистрировала организация IANA (Internet Assigned Numbers Authority). Именно IANA ответственна за ресурсы интернет-протоколов. Всего было зарезервировано 1 024 значения, от 0 до 1 023. Это значительно упростило маршрутизацию в интернете, т.к. они используются приложениями по умолчанию. Вот их небольшой список:

Именно на них устанавливаются соединения по умолчанию, например, сейчас с браузера вы просматриваете этот сайт по порту 443, т.к. сайт работает по https, если бы он был просто на http, то он был бы 80 или 8080.

Как это работает

Когда вы устанавливаете соединение с каким-либо сервером, программой или другим компьютером — генерируется случайный PORT для соединения и вашей идентификации. В дальнейшем обмен пакетами данных будет происходить именно по нему.

Для примера возьмем интернет-сервер со своим уникальным IP-адресом. На нем есть: веб-сервер, почтовый сервер, FTP-сервер. Если нам потребуется соединится с этим сервером, чтобы отправить почту просто по ИП адресу, то, как он поймет, что мы хотим почту? А вот PORT нам в этом, как раз и поможет.

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

Вопрос безопасности

Так, как во многих программах бывают дыры, а используют они для связи, как раз порты, рекомендую использовать, какой-либо Firewall, во избежание потенциального взлома, например, Comodo Firewall. Необходимо в принципе контролировать их доступность и естественно работающие программы.

В заключение

Вот вы и узнали, что это такое, зачем он нужен и как используется. Как видите, все довольно легко и понятно. Хорошего вам серфинга в сети, в скором времени выйдет еще много материала на тему работы сетей.

Типы портов

Существует 2 основные классификации портов: Физические и виртуальные. Каждый тип имеет свое определение, функцию и типы.

Физический порт

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

Существует несколько типов физических портов, некоторые из наиболее часто используемых портов включают в себя:

  • Последовательный порт
  • Параллельный порт
  • Порт SCSI
  • USB-порт
  • Порт PS/2
  • VGA-порт
  • Разъем питания
  • Порт Firewire
  • Современный порт
  • Ethernet-порт
  • Игровой порт
  • DVI порт
  • Розетки

Виртуальный порт

Наборы интернет-протоколов, такие как UDP или TCP, полагаются на виртуальные порты как на точки соединения для обмена информацией и передачи данных. Данные передаются из порта на исходном устройстве и направляются к приемному концу линии. Номер порта — это 16-битное целое число, специально разработанное для хранения протокола, используемого для передачи. Он функционирует для идентификации определенных сетевых портов путем удержания соответствующего IP-адреса и протокола, применяемого для подключения. Номер порта источника и номер порта назначения используются для определения процессов, используемых для отправки и получения данных, соответственно.

В стандартной сети TCP/IP используются 2 основных протокола для передачи данных. Сеть TCP или UDP. И TCP, и UDP относятся к протоколам передачи данных, которые определяют методы, с помощью которых информация передается по сетям. TCP используется, когда устройства подключены непосредственно во время передачи. Оставаясь на связи во время передачи данных, он обеспечивает стабильное соединение, что делает процесс быстрым и эффективным. Недостатком TCP является то, что он слишком полагается на устройство и, таким образом, возлагает на него большую рабочую нагрузку.

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

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

  • 0-1023 — Эти номера портов зарезервированы для известных или часто используемых портов. Большинство этих портов, назначенных администрацией Internet Assigned Numbers Authority (IANA), поддерживают серверные службы, необходимые для сетевых подключений.
  • 1024-49151 — Эти номера портов зарегистрированы или полузарезервированы. Компании, организации и даже физические лица могут зарегистрироваться, чтобы использовать эти номера портов для предоставления сетевых услуг IANA.
  • 49152 — 65535 — эти номера портов относятся к эфемерным портам, используемым клиентскими программами.

Что такое порты компьютера . Хотите полюбоваться на них?

Со списком распространённых портов вы знакомы, однако некоторые сервисы вполне могут использовать порт, по умолчанию назначенный не для них. Или же, что не редкость, открытые порты применяются в качестве лазейки для злоумышленника. Так что, если вы решили самостоятельно менять настройки портов, нужно убедиться, что законопослушные клиент и сервер найдут друг друга. В противном случае стоит позволить Windows заблокировать порт, настроить блокировку в роутере или понадеяться на провайдера, который частенько порты блокирует ещё на излёте, особо клиентуру о том не спрашивая.

Вы можете прямо сейчас посмотреть на своём компьютере, какие порты чем занимаются. Наберите в терминале:

less /etc/services

и крутите мышкой до конца. Вот они во всей красе.

В Кали Линукс полезная во всех смыслах nmap тоже может отобразить их список:

less /usr/share/nmap/nmap-services

Если вы читаете эту статью в Windows, чтобы посмотреть сейчас открытые порты, запустите консоль команд от имени администратора cmd и выполните в ней команду:

netstat -a

Однако более развёрнуто работающие в Windows порты вам откроет небольшая программка с названием Process and port analyzer, которую можно легко скачать в сети. Она просто и доходчиво объяснит, какие порты сейчас открыты и какие программы эти порты слушают. Вот одна из вкладок утилиты:

С помощью программы легко можно проверить местонахождение этого процесса в системе и определиться, насколько он безопасен.