Какой порт используется для обеспечения безопасной передачи данных в интернете

Обновлено: 04.07.2024

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

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

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

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

что такое сетевые порты компьютера

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

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

20: FTP данные
21: FTP контроль
22: SSH
23: Telnet Что такое порты компьютера . Хотите полюбоваться на них?

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

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

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

что такое порты компьютера в линукс

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

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

порты windows

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

какие порты открыты

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

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

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

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

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

КПДВ

Тем, кто стремится разобраться в сетях и протоколах, посвящается.

В статье рассматриваются основы надежной передачи данных, реализуются примеры на Go, в том числе UDP и TCP . По мотивам раз, два, три и книги "Компьютерные сети. Нисходящий подход", а то все обсуждают только Танненбаума и Олиферов.

Протокол транспортного уровня

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


Протоколы транспортного уровня поддерживаются конечными системами, но не сетевыми маршрутизаторами (кроме — DPI). На стороне отправителя транспортный уровень преобразует данные прикладного уровня, которые получает от передающего прикладного процесса, в пакеты транспортного уровня, называемые сегментами.



Далее транспортный уровень передает сегмент сетевому уровню отправителя, где сегмент инкапсулируется в пакет сетевого уровня (дейтаграмму) и отсылается. На принимающей стороне сетевой уровень извлекает сегмент транспортного уровня из дейтаграммы и передает его вверх транспортному уровню. Далее транспортный уровень обрабатывает полученный сегмент таким образом, чтобы его данные стали доступны приложению-получателю.


Принципы надежной передачи данных

Надежная передача данных по совершенно надежному каналу

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

Надежная передача данных по каналу с возможными ошибками

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


В таком случае применяются механизмы:

  • обнаружения ошибки;
  • обратной связи;
  • повторной передачи.

Протоколы надежной передачи данных, обладающие подобными механизмами многократного повторения передачи, называются протоколами с автоматическим запросом повторной передачи (Automatic Repeat reQuest, ARQ).
Дополнительно, стоит предусмотреть возможность ошибок и в квитанциях, когда принимающая сторона не получит никакой информации о результатах передачи последнего пакета.
Решение этой задачи, используемое в том числе в TCP, состоит в добавлении в пакет данных нового поля, содержащего порядковый номер пакета.


Надежная передача данных по ненадежному каналу, допускающему искажение и потерю пакетов

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

  • определения факта потери пакетов;
  • повторной доставки потерянных пакетов принимающей стороне.

Дополнительно, кроме потери пакета, необходимо предусмотреть возможность потери квитанции или, если ничего не потеряно, ее доставки со значительной задержкой. Во всех случаях производится одно и то же: повторная передача пакета. Для контролирования времени в данном механизме используется таймер отсчета, который позволяет определить окончание интервала ожидания. Так в пакете net параметр TCPKeepAlive установлен на 15 секунд по умолчанию:

Передающей стороне необходимо запускать таймер каждый раз при передаче пакета (как при первой, так и при повторной), обрабатывать прерывания от таймера и останавливать его.

Итак, мы ознакомились с ключевыми понятиями протоколов надежной передачи данных:

  • контрольными суммами;
  • порядковыми номерами пакетов;
  • таймерами;
  • положительными и отрицательными квитанциями.

Но и это не все!

Протокол надежной передачи данных с конвейеризацией


Применение конвейеризации приводит к:

  • увеличению диапазона порядковых номеров, поскольку все отсылаемые пакеты (за исключением повторных передач) должны быть однозначно идентифицируемы;
  • необходимости в увеличении буферов на передающей и принимающей сторонах.

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

  • возвращение на N пакетов назад;
  • выборочное повторение.

Возвращение на N пакетов назад — протокол скользящего окна


Отправитель должен поддерживать три типа событий:

Выборочное повторение

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

Пример

Лучшие теоритические практики собраны в практической реализации TCP. А если кто-то знает, как лучше — welcome.

TCP/IP

Протокол TCP/IP – это целая сетевая модель, описывающая способ передачи данных в цифровом виде. На правилах, включенных в нее, базируется работа интернета и локальных сетей независимо от их назначения и структуры.

Что такое TCP/IP

Произошло наименование протокола от сокращения двух английских понятий – Transmission Control Protocol и Internet Protocol. Набор правил, входящий в него, позволяет обрабатывать как сквозную передачу данных, так и другие детали этого механизма. Сюда входит формирование пакетов, способ их отправки, получения, маршрутизации, распаковки для передачи программному обеспечению.

Что такое TCP/IP

Стек протоколов TCP/IP был создан в 1972 году на базе NCP (Network Control Protocol), в январе 1983 года он стал официальным стандартом для всего интернета. Техническая спецификация уровней взаимодействия описана в документе RFC 1122.

В составе стека есть и другие известные протоколы передачи данных – UDP, FTP, ICMP, IGMP, SMTP. Они представляют собой частные случаи применения технологии: например, у SMTP единственное предназначение заключается в отправке электронных писем.

Уровни модели TCP/IP

Протокол TCP/IP основан на OSI и так же, как предшественник, имеет несколько уровней, которые и составляют его архитектуру. Всего выделяют 4 уровня – канальный (интерфейсный), межсетевой, транспортный и прикладной.

Уровни модели TCP/IP

Канальный (сетевой интерфейс)

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

Межсетевой (Internet Layer)

Интернет состоит из множества локальных сетей, объединенных между собой как раз за счет протокола связи TCP/IP. Межсетевой уровень регламентирует взаимодействие между отдельными подсетями. Маршрутизация осуществляется путем обращения к определенному IP-адресу с использованием маски.

Транспортный уровень (Transport Layer)

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

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

Прикладной уровень (Application Layer)

Здесь объединены 3 уровня модели OSI – сеансовый, представления и прикладной. На него ложатся задачи по поддержанию сеанса связи, преобразованию данных, взаимодействию с пользователем и сетью. На этом уровне применяются стандарты интерфейса API, позволяющего передавать команды на выполнение определенных задач.

Порты и сокеты – что это и зачем они нужны

Комбинация IP-адреса и порта называется сокетом и используется при идентификации компьютера. Если первый критерий уникален для каждого хоста, второй обычно фиксирован для определенного типа приложений. Так, получение электронной почты проходит через 110 порт, передача данных по протоколу FTP – по 21, открытие сайтов – по 80.

Преобразование IP-адресов в символьные адреса

Технология активно используется для назначения буквенно-цифровых названий веб-ресурсов. При вводе домена в адресной строке браузера сначала происходит обращение к специальному серверу DNS. Он всегда прослушивает порт 53 у всех компьютеров, которые подключены к интернету, и по запросу преобразует введенное название в стандартный IP-адрес.

После определения точного местонахождения файлов сайта включается обычная схема работы – от прикладного уровня с кодированием данных до обращения к физическому оборудованию на уровне сетевых интерфейсов. Процесс называется инкапсуляцией информации. На принимающей стороне происходит обратная процедура – декапсуляция.

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

Все о портах. И как правильно открыть порты

Все уже давно используют имитаторы LAN (локальной сети), после того, как некоторые провайдеры в начале нового десятилетия, отключи всех своих абонентов от локальной сети, оставив им только подключение по каналу "Интернет".

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

Что же такое "Открытый порт" ? Да все гениальное просто - любой компьютер в сети имеет определенный идентификатор (имя, MAC-адрес, IP), так вот, по IP на роутер поступает определенный пакет, но не просто поступает по IP, а по специальному каналу (порту), через который, программа отправляет/принимает запросы из внешней сети. По стандарту, этот пакет дальше роутера не пройдет, так как по умолчанию (далее дефолту), порт по которому работает программа - закрыт, а что принять пакет, его нужно открыть.

Все о портах. И как правильно открыть порты

То, что пишут в интернете - можно открыть порты, независимо от того, какое сетевое оборудование стоит - все это бред! Любой знающий сис.админ скажет - что IP делятся на два вида - "Белый" и "Серый", и только на одном можно открыть порты, что бы принимать "пакеты" из вне. Серый - это когда IP может переходить из рук-в-руки множество количество раз (он же именуется как динамический), Белый - или реальный (по другому статический) можно быть присвоен только на одного пользователя, и не будет переходить из рук-в-руки.

Именно по "Белому" IP и стоит открывать порты на своем оборудовании. Что бы получить свой "Белый" IP необходимо обратить к своему провайдеру, и после этого, он назначит IP на Вас. Данная услуга везде является платной, и в зависимости от региона может составлять от 50 рублей/месяц.

Допустим, мы купили реальный IP у своего провайдера, и теперь необходимо приступить к настройке. Разберемся с настройками на 4-х популярных моделях роутеров (ASUS/TP-Link/D-Link/Zyxel):

Примечание: настройка производилась на оборудовании ASUS RT-N12 C1 с микропрограммой 3.0.0.4.260 (черный интерфейс)

  1. Подключаемся к своему роутеру через браузер (192.168.1.1), с логином и паролем (admin/admin). Узнать об этом можно на обратной стороне роутера или в инструкции к нему.
  2. В левом меню выбираем "Интернет" (или WAN) ->Переадресация портов (или Virtual Server/Port Forwarding)
  3. Включаем данную опцию, поставив галочку напротив "Включить переадресацию портов: Да".
  4. Выбираем из готовых шаблонов заданные порты, или вписываем свои:
    • Имя службы - можно быть любое
    • Диапазон портов - можно ввести как один порт (например 80) так и диапазон (27000:27099)
    • Локальный IP
    • Конечный порт - так же как и в "Диапазон" нужно вводить в зависимости от того, что сначала ввели - один или диапазон.
    • Протокол - TCP/UDP/BOTH /OTHER - выбрать один (TCP/UDP порты выбирают)
  5. После ввода данных нажимаем на плюсик (слева от формы заполнения).
  6. А после ввода данных, нажимаем "Сохранить".
  1. Подключаемся к своему роутеру через браузер (192.168.0.1. или в некоторых 192.168.1.1), с логином и паролем (admin/admin). Узнать об этом можно на обратной стороне роутера или в инструкции к нему.
  2. В левом меню выбираем Межсетевой экран/Виртуальные серверы.
  3. Выбираем из готовых шаблонов , или вписываем свои (выбрав пункт "Costom"):
    • Имя службы - можно быть любое
    • Протокол - выбираем нужный протокол.
    • Внешний порт (начальный)
    • Внутренний порт (начальный)
    • Внутренний IP

  4. После ввода данных можно нажать "Применить", а после через "Система" - выбрать пункт "Перезагрузка", и только после этого порты должны открыться.

Все о портах. И как правильно открыть порты

Подводя итоги можно сделать такой вывод - что для проброса портов и сохранения своих нервных клеток, лучше сразу купить у своего провайдера статический (белый) IP, так как на сером - проброс портов не удастся сделать. Если все удалось сделать, то видимость портов можно проверить на этом сервисе, или на этом. Из эксперимента с роутерами, мне удалось правильно все сделать только на трех из четырех маршрутизаторах (кроме Zyxel).

    23 сентября - день когда компания Google, представила всему миру новую мобильную операционную систему, с пакетом дополнения SDK. Каждая компания, которая участвует в мировой торговле должна как то выживать,вот и Nvidia пытается выживать, используя свое доминантное положение на рынке, и принуждая своих партнеров к сделкам только с ними через программу GeForce Partner Program. Что это значит и как грозит это геймарам? Сегодня был выпущен значительный патч для игры The Division, который вносит большие изменения в игру, механику и Темную Зону. Всем не секрет, что Game Developers Conference 2015 - всемирная выставка разработчиков, на которой представляют свои творения великие компании. Примером такой компании является Valve. И в эти дни появились первые вести с полей. Вчера, корпорация Valve выпустила патч 6.85 для Dota 2. Патч затрагивает механику игры и баланс оружия и персонажей, в связи с турниром в Франкфурт-На-Майне.

В любом случае, к концу этой статьи вы не только узнаете, что это за порты, о которых все говорят, но и как проверить свой компьютер, чтобы найти открытые или закрытые порты.


Что такое сетевой порт?

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

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


Существует два распространенных типа портов, которые требуют краткого объяснения, прежде чем мы перейдем к проверке, какие порты в вашей системе открыты, а какие нет.

Что такое порты TCP и UDP?

Два общих типа портов в современных сетях известны как порты TCP и UDP. Это протокол управления передачей и протокол дейтаграмм пользователя соответственно. Таким образом, эти два типа портов используют разные сетевые протоколы.

Которые вы можете рассматривать как отличительные наборы правил того, как следует отправлять и получать биты информации. Оба типа порта построен на фундаментальном Internet Protocol (IP), что делает Интернет и домашние сети, хорошо, работу . Однако они подходят для разных приложений.



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

TCP гораздо более распространен, чем UDP, и абсолютно гарантирует, что все данные получены без ошибок. Практически все, что не требует особых преимуществ UDP, вместо этого использует TCP.

Какие порты обычно открыты по умолчанию?

Есть МНОГО портов. Номер порта может быть любым от 0 до 65535! Это не означает, что любое приложение может просто выбрать любой порт. Существуют установленные стандарты и диапазоны, которые помогают нам разобраться в шуме.


Порты 0-1023 связаны с некоторыми из наиболее важных и фундаментальных сетевых служб. Это имеет смысл, поскольку порты с меньшими номерами были назначены первыми. Например, протокол SMTP для электронной почты используется исключительно портом 25.


Хотя невозможно перечислить каждый важный порт, эти общие порты полезно знать наизусть:

Поскольку существует очень много тысяч общих номеров портов, самый простой способ — запомнить диапазоны. Что скажет вам, зарезервирован данный порт или нет. Благодаря Google вы также можете мгновенно узнать, какие службы используют определенный порт.

Найдите открытые порты в Windows


Теперь, когда у нас есть все базовые знания о портах TCP и UDP, пора перейти к процессу поиска открытых и используемых портов на вашем компьютере.

Хорошая новость заключается в том, что в Windows встроена довольно полезная команда, которая покажет вам, какие порты в настоящее время используются на вашем компьютере различными приложениями и службами.

Netstat -ab

  • Не беспокойтесь о том, что длинный список информации будет прокручиваться быстрее, чем вы сможете его прочитать. Вы можете просто использовать CTRL + C и CTRL + V, чтобы скопировать и вставить информацию в Блокнот или любой другой текстовый редактор.
  • Информация в скобках — это название программы, использующей порт. TCP или UDP относится к протоколу, используемому на этом порту. Номер состоит из IP-адреса и номера порта после двоеточия.

Сканирование заблокированных портов


Это позволяет определить, какие порты используются и каким приложением, но не сообщает нам, какие порты активно блокируются брандмауэром Windows.

netsh firewall show state


Это отображение заблокированных и открытых портов в соответствии с конфигурацией вашего брандмауэра Windows.

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

netstat -ano | findstr -i SYN_SENT


Полезные приложения для определения статуса вашего порта

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

SolarWinds Free Port Scanner


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

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

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

SolarWinds может поставляться с некоторыми прикрепленными строками, но на самом деле он работает так, как рекламируется, и прост в использовании.

CanYouSeeMe


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

Затем он сообщит вам, заблокирован порт или нет, и затем вам нужно будет выяснить, на уровне ли блокировка компьютера, маршрутизатора или на уровне поставщика услуг.

Вывод

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

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

Читайте также: