Что такое порты, какие бывают и зачем они нужны?
В компьютерах есть два вида портов — физические и программные (или сетевые):
Физический порт — это разъём на компьютере, с помощью которого можно подключить флешку, сетевой кабель, принтер, наушники и так далее. Физический порт обменивается электричеством с устройством, который вставлен в этот порт.
Сетевой порт — то число, которое записывается в заголовках протоколов транспортного уровня сетевой модели OSI. Оно используется для определения программы или процесса-получателя пакета в пределах одного IP-адреса.Порты позволяют определить сетевые приложения, работающие на компьютере, множество которых может быть запущено одновременно. Основными сетевыми программами могут быть:
- WEB-сервер – предоставляет трансляцию данных с веб-сайтов;
- Сервер почты – позволяет обмениваться электронными письмами;
- FTP-сервер – обеспечивает передачу информации.
Порт отображается в виде 16 битного числа от 1 до 65535, которое доступно приложениям для того, чтобы обмениваться трафиком. Организация IANA регламентирует использование портов, так как именно она предоставляет стандарты при работе с портами.Имеющееся количество портов предоставляет корректную работу всех приложений, которым необходимо использовать сетевое соединение.
Порты обеспечивают доступ в глобальную сеть не только программам, которые были установлены пользователем. Бывают ситуации, когда вредоносные программы размещаются в систему самостоятельно и открывают порт без ведома пользователя. И уже с помощью открытого порта могут считывать личную информацию, находящуюся на компьютере. Поэтому необходимо знать, какие основные порты требуются пользователю и каким образом можно их открывать и закрывать.
Основным предназначением сетевых портов является прием и передача данных определенного вида, а также устранение ошибки неоднозначности при попытке установить связь с хостом по IP-адресу. Для обеспечения трансляции данных с веб-сервера необходимо указать IP адрес хоста и номер порта, определяющий программу веб-сервера.
Физические порты при подключении определяют, к какой программе относятся данные, которые получает сетевая плата. Например, для использования порта одновременно сетью и интернетом пользуются разные программы:
- ОС запрашивает обновления безопасности на сервере;
- браузер загружает страницу в соцсети;
- различные мессенджеры отправляют и принимают сообщения;
- фоном пользуетесь видеозвонком, который тоже отправляет видеоданные;
- различные облачные диски синхронизируют данные.
Порты TCP не пересекаются с портами UDP: порт 1234 протокола TCP не будет мешать обмену данными по протоколу UDP через порт 1234.В большинстве UNIX-подобных ОС прослушивание портов с номерами 0—1023 требует особых привилегий. Другие номера портов выдаются операционной системой первым запросившим их процессам.
Некоторые популярные программы-анализаторы трафика и сетевые брандмауэры используют общепринятые обозначения номеров портов для определения протокола передачи данных, что не всегда корректно. В некоторых случаях сетевые службы используют нестандартные номера портов или используют номера портов не по заявленному назначению.
Порт можно открыть, чтобы система знала, куда отдавать данные, пришедшие по этому адресу.
Порт можно закрыть, чтобы данные больше не передавались. Они будут игнорироваться.
Порт можно пробросить. Например, можно научить систему, что если запрос пришёл на порт 1212 — отправить его на порт 2121. Так устроены многие сетевые маршрутизаторы и, в частности, ваш интернет-провайдер.
Порты можно просканировать. Перебрать все числа от 0 до 65535, чтобы посмотреть, придёт ли с какого-нибудь из них ответ. Если придёт, то значит на этом порте сидит какая-то программа.
Порт можно заблокировать. Например, сказать вашему роутеру на работе или дома, чтобы все запросы на определённый порт выбрасывались или переадресовывались.
Порт можно задать. Если вы знаете, что какой-то порт у вас заблокирован, то можно задать для этой программы другой порт и общаться через него. Однако не все программы это поддерживают.
Можно ничего не делать — с точки зрения пользователя всё работает само.
Есть ещё кое-что, о чём нужно знать, знакомясь с тем, что такое порты компьютера. Это специальные термины, которые характеризуют состояние портов:
- Интернет-сокеты — файловые дескрипторы, конкретизирующие IP адрес и ассоциированный с ним номер порта плюс специальный протокол передачи, который будет работать с данными
- Привязка — процесс использования службой или сервисом интернет-сокета при передаче и приёме файлов
- Прослушивание — попытка связаться службой или сервисом с портом/протоколом/IP адресом или комбинацией этих составляющих сетевой идентификации системы с целью стать на ожидание запросов со стороны клиента сервиса
- Сканирование портов — проверка состояния портов с целью распознать их готовность к дальнейшим действиям
Что такое сетевые порты компьютера ?
В статье доступно описывается, что есть системный порт, зачем он программам нужен, как и какие устройства используют порты для общения в сети, и какое отношение имеют порты к безопасности ваших данных. Статья вводная; о том, как контролировать системные порты, правильно настраивать и сканировать, избегая ошибок и понимая, что происходит, поговорим в другой раз.
Сетевые порты компьютера: что это такое?
Как только компьютеры собираются обменяться информацией по сети, они сразу открывают информационные порталы для обмена. В архитектуре сети общение между двумя ЛЮБЫМИ системами зиждется на пяти непреложных принципах. Так, чтобы данные «перелетели» из точки А в точку Б, должны быть известны:
- IP адрес источника информации
- IP адрес получателя
- протокол, по которому устройства будут общаться
- порт передачи источника
- и порт назначения, используемый транспортным протоколом RFC793
Порт — это некое виртуальное расширение, дополнение к сетевому адресу (как дополнение в цифрах к названию улицы или дому в адресе, по которому вы проживаете). Почтальон придёт на вашу улицу, но письмо не доставит — он не знает кому, ибо номер квартиры ему не известен. Так и информация дойдёт до вашего компьютера по IP , но без надлежащего номера порта информация в компьютер не попадёт. Компьютер просто не поймёт, как обработать её, с помощью какого приложения. Сетевые порты компьютера — это тропинки между сервисами и службами, которые запущены в установленной на компьютере операционной системе и материнскими\сестринскими процессами на компьютерах-хостах, которые находятся порой за тысячи километров от вас.
Кстати, у материнской платы тоже есть порт. Это физические разъёмы, которые, в отличие от описываемых, можно потрогать. Но функцию они выполняют, в сущности, ту же: все порты призваны принимать информацию с других устройств.
Транспортные протоколы (а самые распространённые и используемые это TCP и UDP) лезут на компьютер, используя в сообщении в том числе и номера из общего количества портов. Когда какое-то приложение захочет поговорить с другим устройством, оно напрямую просит локальную ОС открыть канал для передачи. Приложения, которые могут общаться по обоим протоколам (UDP и TCP) могут использовать для этого один и тот же порт, однако это условие необязательно.
Что такое порты компьютера: а сколько их?
В компьютере точное количество портов — 65 535. И ух них есть своя градация. Так, порты с номерами до 1023 Линукс и Unix-подобными ОС считаются за «критически важные» для сетевой деятельности системы, так что для доступа к ним и службам, с ними связанными часто требуются root права. Windows также их считает системными и пристально следит за ними.
Порты от 1024 до 49151 имеют гриф «готовые к регистрации». Это означает, что данные порты зарезервированы или могут быть зарезервированы за определёнными службами. К счастью или сожалению, они за этими сервисами не закреплены прочными правилами, однако могут дать ключ для распознавания запущенной программы на стороне хоста. Остальные (начиная с 49152) порты не зарегистрированы и используются по усмотрению пользователей ОС и имеют название «динамические» порты. Так что запоминать, какой порт под какую службу «заточен», часто просто бесполезно (по крайней мере, сегодня; однако ситуация может измениться). Но существует список портов, которые уже «испокон веков» используются конкретными сервисами:
20: FTP данные
21: FTP контроль
22: SSH
23: Telnet 25: SMTP
43: WHOIS
53: DNS сервисы
67: DHCP сервис
68: DHCP клиент
80: HTTP трафик 110: POP3 почтовый
113: сервисы аутентификации в IRC сетях
143: IMAP почтовый
161: SNMP
194: IRC
389: LDAP
443: HTTPS 587: SMTP 631: CUPS порт для виртуальных принтеров.
Есть ещё кое-что, о чём нужно знать, знакомясь с тем, что такое порты компьютера. Это специальные термины, которые характеризуют состояние портов в смысле обмена данными в текущий момент. Итак:
- Порт — сетевая локализация в операционной системе с присвоением конкретного числового значения для обмена информацией по соответствующим протоколам
- Интернет-сокеты — или просто сокеты — файловые дескрипторы, конкретизирующие IP адрес и ассоциированный с ним номер порта плюс специальный протокол передачи, который будет работать с данными
- Привязка — процесс использования службой или сервисом интернет-сокета при передаче и приёме файлов
- Прослушивание — попытка связаться службой или сервисом с портом/протоколом/IP адресом или комбинацией этих составляющих сетевой идентификации системы с целью стать на ожидание запросов со стороны клиента сервиса
- Сканирование портов — проверка состояния портов с целью распознать их готовность к дальнейшим действиям
Что такое порты компьютера . Хотите полюбоваться на них?
Со списком распространённых портов вы знакомы, однако некоторые сервисы вполне могут использовать порт, по умолчанию назначенный не для них. Или же, что не редкость, открытые порты применяются в качестве лазейки для злоумышленника. Так что, если вы решили самостоятельно менять настройки портов, нужно убедиться, что законопослушные клиент и сервер найдут друг друга. В противном случае стоит позволить Windows заблокировать порт, настроить блокировку в роутере или понадеяться на провайдера, который частенько порты блокирует ещё на излёте, особо клиентуру о том не спрашивая.
Вы можете прямо сейчас посмотреть на своём компьютере, какие порты чем занимаются. Наберите в терминале:
и крутите мышкой до конца. Вот они во всей красе.
В Кали Линукс полезная во всех смыслах nmap тоже может отобразить их список:
less /usr/share/nmap/nmap-services
Если вы читаете эту статью в Windows, чтобы посмотреть сейчас открытые порты, запустите консоль команд от имени администратора cmd и выполните в ней команду:
Однако более развёрнуто работающие в Windows порты вам откроет небольшая программка с названием Process and port analyzer, которую можно легко скачать в сети. Она просто и доходчиво объяснит, какие порты сейчас открыты и какие программы эти порты слушают. Вот одна из вкладок утилиты:
С помощью программы легко можно проверить местонахождение этого процесса в системе и определиться, насколько он безопасен.
Компьютерные порты и сетевая безопасность
Программы, и службы, которые здесь описаны, позволяют вам увидеть порты, открытые именно в вашей ОС (Windows и Linux) для каких-то уже работающих на компьютере программ. Однако помните, что в системе передачи информации между вашим компьютером и далёким веб-сервером где-то в Голландии, стоит ещё немало устройств, которые фильтруют трафик более серьёзно, в том числе контролируя порты (кстати, в том числе и находящийся в вашей же комнате роутер). Не ваши, конечно. Но именно этим серверам решать, попадут ли какие-то данные в вашу Windows. Прикладывает к этому руку и ваш провайдер, которому вы платите деньги за выход в сеть, блокируя порты в целях безопасности или для недопущения излишней сетевой активности (а вдруг вы захотите настроить у себя дома собственный веб-сервер? — не получится).
Зачем это делается? Позвольте продолжить аналогию с домами и улицами. Представьте, что вы решили купить гараж для авто ( компьютера ) в близлежащем кооперативе. Первое, что нужно сделать — защитить и усилить невозможность в помещение проникнуть: поставить хорошие двери и установить надёжные замки ( закрыть порты ). Но что ещё можно сделать? Кто-то ставит сигнализацию ( специальные сетевые сканеры для проверки состояния портов ). Накопить денег и установить дополнительный забор с воротами ( роутер со встроенным фаерволлом ), чтобы внутри можно было парковать и мотоцикл ( планшет ) . А чтобы газоны не испоганили грузовики, со своей стороны правление ( провайдер ) установило автоматический шлагбаум ( сетевые анти- DDOS фильтры ): всё вроде бы открыто, но чужой не проедет. И так далее…
Однако, если вы всё-таки собираетесь узнать, как виден ваш компьютер из глобальной сети (например, злоумышленникам, пытающимся проверить вас на прочность), описанные здесь способы совершенно не подходят. Разовьём эту тему в следующих статьях.