Содержание
В компьютерных сетях порт является конечной точкой связи в операционной системе. Этот термин используется также для аппаратных устройств, но в программном обеспечении это логическая конструкция, которая идентифицирует конкретный процесс или вид услуг.
Порт всегда связан с IP-адресом хоста и типом протокола связи и, таким образом, завершает назначение адреса сеанса связи. Он идентифицируется для каждого адреса и протокола с помощью 16-битного числа, широко известного как номер порта. Конкретные номера портов часто используются для определения конкретных услуг. Из тысяч перечисленных 1024 хорошо известных номера портов защищены в соответствии с соглашением, чтобы определить конкретные типы услуг на хосте. Протоколы, которые в основном используют порты, служат для управления процессами (например, протокол управления передачей (TCP) и User Datagram Protocol (UDP) из комплекта протоколов Internet).
Значение
TCP-порты не нужны по прямым ссылкам типа «точка-точка», когда компьютеры на каждом конце могут работать только с одной программой одновременно. Они стали необходимы после того, как машины оказались способны выполнять более одной программы в одно время, и оказались подключены к современным сетям с пакетной коммутацией. В модели клиент-серверной архитектуры приложения, порты и сетевые клиенты подключаются к инициации обслуживания, предоставляют услуги мультиплексирования, после того как первоначальный обмен данными связывается с известным номером порта, и он освобождается путем переключения каждого экземпляра обслуживания запросов к выделенной линии. Происходит подключение к конкретному номеру, и благодаря этому дополнительные клиенты могут обслуживаться без ожидания.
Детали
Протоколы передачи данных – Transmission Control Protocol (TCP) и User Datagram Protocol (UDP) — применяются для того, чтобы указать номер порта назначения и источник в своих заголовках сегментов. Номер порта представляет собой 16-разрядное целое число без знака. Таким образом, он может быть в диапазоне от 0 до 65535.
Тем не менее TCP-порты не могут использовать номер 0. Порт источника для UDP не обязателен, и значение, равное нулю, означает его отсутствие.
Процесс связывает свои входные или выходные каналы через интернет-сокет (тип дескриптора файла) посредством транспортного протокола, номера порта и IP-адреса. Этот процесс известен как связывание, и он дает возможность передачи и приема данных через сеть.
Сетевое программное обеспечение операционной системы отвечает за передачу исходящих данных из всех портов приложений в сеть, а также переадресацию прибывающих сетевых пакетов (путем сопоставления IP-адреса и номера). Только один процесс можно привязать к определенному IP-адресу и комбинации портов, используя один и тот же транспортный протокол. Общие сбои приложений, которые иногда называют порт-конфликтами, возникают, когда несколько программ пытаются связаться с одними и теми же номерами портов на том же IP-адресе, используя тот же протокол.
Как они используются
Приложения, реализующие общие службы, часто используют специально зарезервированный и хорошо известный список портов TCP и UDP для приема запросов на обслуживание от клиентов. Этот процесс известен как прослушивание, и он включает в себя получение запроса с хорошо известного порта и установления диалога между сервером и клиентом «один-к-одному», с использованием одного и того же номера локального порта. Другие клиенты могут продолжать подключаться — это возможно, так как соединение TCP идентифицируется как цепочка, состоящая из локального и удаленного адресов и портов. Стандартные порты TCP и UDP определяются по соглашению под контролем Internet Assigned Numbers Authority (IANA).
Ядро сетевых сервисов (в первую очередь, WorldWideWeb), как правило, использует небольшие номера портов — меньше, чем 1024. Во многих операционных системах требуются специальные привилегии для приложений для привязки к ним, потому что они часто считаются критическими для функционирования IP-сетей. С другой стороны, конечный клиент соединения, как правило, применяет большое их количество, выделенных для краткосрочного использования, поэтому существуют так называемые эфемерные порты.
Структура
TCP-порты закодированы в заголовке пакета транспортного протокола, и они легко могут быть интерпретированы не только передающим и принимающим компьютерами, но и другими компонентами сетевой инфраструктуры. В частности межсетевые экраны, как правило, настроены различать пакеты в зависимости от их источника или номеров порта назначения. Перенаправление является классическим примером этому.
Практика попыток подключения к диапазону портов последовательно на одном компьютере известна как их сканирование. Это, как правило, связано либо с попытками злонамеренного сбоя, либо же сетевые администраторы ищут возможные уязвимости, чтобы помочь предотвратить такие нападения.
Действия, направленные на то, как открыть TCP-порт, часто контролируются и регистрируются с помощью компьютеров. Такая техника использует ряд запасных соединений, для того чтобы обеспечить бесперебойное соединение с сервером.
Примеры использования
Самым главным примером, где активно используются порты TCP/UDP, является почтовая система Интернет. Сервер применяется для работы с электронной почтой (отправкой и получением), и в целом нуждается в двух услугах. Первый сервис используется для транспортировки по электронной почте и с других серверов. Это достигается с помощью Simple Mail Transfer Protocol (SMTP). Как правило, приложение-служба SMTP прослушивает TCP-порт номер 25 с целью обработки входящих запросов. Другая услуга представляет собой POP (полностью — Post Office Protocol) либо IMAP (или Internet Message Access Protocol) который необходимы для клиентских приложений в электронной почте на машинах пользователей, чтобы получать с сервера сообщения электронной почты. Службами POP прослушиваются номера с TCP-порта 110. Вышеуказанные службы обе могут запускаться на одном и том же хост-компьютере. Когда это происходит, номер порта отличает сервис, запрошенный удаленным устройством — ПК пользователя либо каким-либо иным почтовым сервером.
В то время как номер порта прослушивания сервера корректно определен (IANA называет их хорошо известными портами), данный параметр клиента часто выбирается из динамического диапазона. В некоторых случаях клиенты и сервер по отдельности используют определенные TCP-порты, назначенные в IANA. Наглядным примером может служить DHCP, где клиентом во всех случаях используется UDP 68, а сервером — UDP 67.
Применение в URL-адресах
Номера портов иногда хорошо видны в Интернете или других унифицированных указателях информационных ресурсов (URL). По умолчанию HTTP использует TCP-порт 80, а HTTPS — 443. Вместе с тем существуют и другие вариации. Например, URL-адрес http://www.example.com:8080/path/ указывает, что веб-браузер подключается к 8080 вместо сервера HTTP.
Список портов TCP и UDP
Как уже было отмечено, Internet Assigned Numbers Authority (IANA) несет ответственность за глобальную координацию DNS-Root, IP-адресации и других ресурсов Интернет-протокола. Это включает в себя регистрацию часто используемых номеров портов для известных интернет-сервисов.
Номера портов разделены на три диапазона: хорошо известные, зарегистрированные и динамические или частные. Хорошо известные (также известные как системные) — это имеющие номера от 0 до 1023. Требования, предъявляемые к новым назначениям в этом диапазоне, являются более строгими, чем для других регистраций.
Широко известные примеры
Примеры, находящиеся в данном списке, включают в себя:
- TCP 443 порт: HTTP Secure (HTTPS).
- 21: File Transfer Protocol (FTP).
- 22: Secure Shell (SSH).
- 25: Простой протокол передачи почты (SMTP).
- 53: Система доменных имен (DNS).
- 80: Протокол передачи гипертекста (HTTP).
- 119: Протокол передачи сетевых новостей (NNTP).
- 123: Протокол сетевого времени (NTP)..
- 143: Internet Message Access Protocol (IMAP)
- 161: Простой протокол управления сетью (SNMP)1.
- 94: Internet Relay Chat (IRC).
Зарегистрированные порты содержат номера от 1024 до 49151. IANA поддерживает официальный список известных и зарегистрированных диапазонов. Динамические или частные — от 49152 до 65535. Один из вариантов использования этого диапазона предназначен для временных портов.
История создания
Концепция номера порта была создана ранними разработчиками ARPANET в условиях неформального сотрудничества авторов программного обеспечения и системных администраторов.
Термин «номер порта» еще не использовался в то время. Номерной ряд для удаленного хоста был 40-битным числом. Первые 32 бита были похожи на сегодняшний IPv4-адрес, но при этом наиболее значимыми были первые 8 бит. Наименее значительная часть числа (биты с 33 по 40) обозначали другой объект, который назывался AEN. Это и есть прототип современного номера порта.
26 марта 1972 года было впервые предложено создание каталога номеров сокета в RFC 322. Администраторов сети призвали описать каждый постоянный номер на предмет его функций и сетевых услуг. Этот каталог был впоследствии опубликован в RFC 433 в декабре 1972 года и включал в себя список хостов, их номера портов и соответствующую функцию, используемую на каждом узле в сети. В мае 1972 года впервые были задокументированы официальные назначения номеров портов, сетевых служб, а также предложена специальная административная функция для ведения этого реестра.
Первый список TCP-портов имел 256 значений AEN, которые были разделены на следующие диапазоны:
- От 0 до 63: стандартные функции всей сети
- От 64 до 127: хост-специфичные функции
- От 128 до 239: зарезервированные для будущего использования
- От 240 до 255: любая экспериментальная функция.
Служба Telnet получила первое официальное присвоение значения 1. В начале существования ARPANET термином AEN также называли имя сокета, которое использовалось с первоначальным протоколом соединения (MSP) и компонентом программы управления сетью (NCP). При этом NCP был предшественником современных Интернет-протоколов, использующих порты TCP/IP.
NetBIOS означает Базовая сетевая система ввода-вывода . Это программный протокол, который позволяет приложениям, ПК и настольным компьютерам в локальной сети (LAN) обмениваться данными с сетевым оборудованием и передавать данные по сети. Программные приложения, работающие в сети NetBIOS, обнаруживают и идентифицируют друг друга по именам NetBIOS. Имя NetBIOS имеет длину до 16 символов и обычно отделено от имени компьютера. Два приложения запускают сеанс NetBIOS, когда одно (клиент) отправляет команду «вызвать» другого клиента (сервер) через TCP-порт 139 .
Содержание
Однако NetBIOS в вашей глобальной сети или через Интернет представляет собой огромный риск для безопасности. Все виды информации, такие как ваш домен, имена рабочих групп и систем, а также информация об учетной записи могут быть получены через NetBIOS. Поэтому важно поддерживать NetBIOS в предпочтительной сети и следить за тем, чтобы он никогда не покидал вашу сеть.
Брандмауэры, в качестве меры безопасности, всегда сначала блокируют этот порт, если он у вас открыт. Порт 139 используется для общего доступа к файлам и принтерам , но оказывается самым опасным портом в Интернете. Это так, потому что он оставляет жесткий диск пользователя уязвимым для хакеров.
После того, как злоумышленник обнаружит активный порт 139 на устройстве, он может запустить NBSTAT диагностический инструмент для NetBIOS через TCP/IP, в первую очередь предназначенный для устранения неполадок с разрешением имен NetBIOS. Это знаменует собой важный первый шаг атаки – Footprinting .
Используя команду NBSTAT, злоумышленник может получить некоторую или всю критическую информацию, связанную с
- Список локальных имен NetBIOS
- Имя компьютера
- Список имен, разрешенных WINS
- IP-адреса
- Содержимое сеансовой таблицы с IP-адресами назначения
Имея вышеупомянутые подробности, злоумышленник имеет всю важную информацию об ОС, службах и основных приложениях, работающих в системе. Помимо этого, у него также есть частные IP-адреса, которые LAN/WAN и инженеры по безопасности старались скрыть за NAT. Кроме того, идентификаторы пользователей также включены в списки, предоставляемые запуском NBSTAT.
Это позволяет хакерам получить удаленный доступ к содержимому каталогов или дисков жесткого диска. Затем они могут автоматически загружать и запускать любые программы по своему выбору с помощью некоторых бесплатных инструментов, даже если владелец компьютера не узнает об этом.
Если вы используете компьютер с несколькими компьютерами, отключите NetBIOS на каждой сетевой карте или Dial-Up Connection в свойствах TCP/IP, которые не являются частью вашей локальной сети.
Хотя порт 139 технически известен как «NBT через IP», порт 445 – «SMB через IP». SMB означает Блоки сообщений сервера ’. Блок сообщений сервера на современном языке также известен как Общая интернет-файловая система . Система работает как сетевой протокол прикладного уровня, в основном используемый для предоставления общего доступа к файлам, принтерам, последовательным портам и другим видам связи между узлами в сети.
Большая часть использования SMB связана с компьютерами под управлением Microsoft Windows , где он был известен как «Сеть Microsoft Windows» до последующего внедрения Active Directory. Он может работать поверх сеансовых (и нижних) сетевых уровней несколькими способами.
Например, в Windows SMB может работать напрямую через TCP/IP без необходимости использования NetBIOS через TCP/IP. Он будет использовать, как вы указали, порт 445. В других системах вы найдете службы и приложения, использующие порт 139. Это означает, что SMB работает с NetBIOS через TCP/IP .
Злобные хакеры признают, что порт 445 уязвим и имеет много опасностей. Одним из замечательных примеров неправильного использования порта 445 является относительно тихое появление червей NetBIOS . Эти черви медленно, но четко определенным образом сканируют Интернет на наличие портов 445, используют такие инструменты, как PsExec , чтобы перенести себя на новый компьютер-жертву, а затем удвоить усилия по сканированию. Именно с помощью этого малоизвестного метода собираются огромные « Бот-армии », содержащие десятки тысяч зараженных червем компьютеров NetBIOS, и теперь они обитают в Интернете.
Учитывая вышеперечисленные опасности, в наших интересах не предоставлять порт 445 Интернету, но, как и порт Windows 135, порт 445 глубоко встроен в Windows и его трудно безопасно закрыть.Тем не менее, его закрытие возможно, однако, другие зависимые сервисы, такие как DHCP (протокол динамической конфигурации хоста), который часто используется для автоматического получения IP-адреса от серверов DHCP, используемых многими корпорациями и интернет-провайдерами, перестанет функционировать.
Принимая во внимание все причины безопасности, описанные выше, многие интернет-провайдеры считают необходимым блокировать этот порт от имени своих пользователей. Это происходит только в том случае, если порт 445 не защищен маршрутизатором NAT или персональным межсетевым экраном. В такой ситуации ваш интернет-провайдер, возможно, не позволит трафику порта 445 достичь вас.
Весьма вероятно, что вы встречались с выражениями типа «у меня на работе закрыт такой-то порт, не могу запустить ICQ». Или «не могу отправить почту, провайдер закрыл 25ый порт». Попробую на пальцах объяснить, что это за зверь такой — порт.
Интернет — это не только коллекция Web-страниц, вроде той, что вы читаете в данный момент. Есть программы мгновенного обмена сообщениями, есть файлообменные сети, и зачастую один сервер в интернете предоставляет одновременно сервисы различного типа. Чтобы он мог легко отличать запросы к разным сервисам друг от друга, клиент указывает (автоматически, за вас это делает программа, которой вы пользуетесь) не только IP-адрес сервера, но и «тип протокола» и, в случае наиболее распространенных протоколов TCP и UDP, номер порта.
Порт — это всего лишь число, указываемое при запросе на соединение. Никаких физических портов не существует. Однако имеются так называемые стандартные порты, соглашения об использовании, которых все стараются придерживаться. Приведу таблицу с наиболее распространенными портами (сейчас я говорю о TCP портах).
Номер | Название | Описание |
---|---|---|
80 | http | Просмотр Web-страниц. Вот сейчас, читая эту страницу, вы установили соединение по 80му порту. Наши браузеры настроены на автоматическое использование 80го порта (если специально не указать иное). Кстати, название протокола (http) вы видите наверху, в адресной строке. |
443 | https | Шифрованный протокол просмотра Web-страниц, используется, например, при платежах через интернет |
110 | pop3 | Протокол получения писем программами вроде Outlook Express |
995 | pop3s | Его шифрованный брат, пока встречал только у почты от Google |
25 | smtp | Отправка писем теми же программами |
465 | smtps | Опять-таки его шифрованная версия, тоже используется почтой Google |
20,21 | ftp | TCP порт протокола нешифрованного скачивания данных |
23 | telnet | Нешифрованное подсоединение к удаленным компьютерам в командной строке |
22 | ssh | Его шифрованная версия, имеющая кучу дополнительных опций |
Полный список можно найти, например, вот тут
Теперь нужно прояснить некоторые понятия, касающиеся портов. Есть порт НА который устанавливается соединение и порт С которого устанавливается соединяется. Все стандартные порты, о которых мы говорили выше — это порты, НА которые устанавливается соединение. А в момент установки соединения генерируется некоторое случайное число, которое далее является портом С которого установили соединение. Оно используется в дальнейшем автоматически при обмене данными.
Что более существенно — то, что порты бывают «входящие» и «исходящие» (я буду говорить далее только о портах, НА которые создается соединение). Исходящий порт — это когда вы инициируете соединение, например, на 80ый порт для просмотра Web-страницы. Входящий — когда к вашему компьютеру обращается кто-то извне. В большинстве случаев вам этого не нужно, но некоторые файлообменные сети и способы скачивания файлов (вроде ftp) существенно лучше работают, если можно обратиться к вашему компьютеру извне к определенному порту. Однако это будет работать только если у вас реальный IP-адрес.
Теперь можно более грамотно ответить на вопрос, что есть закрытые порты, и что с этим делать. Провайдеры зачастую закрывают для вас определенные исходящие порты, например, Starnet блокирует 25 исходящий порт, не позволяя отправлять почту программами типа Outlook, кроме как через сервера Старнета. Это ограничение направлено на предотвращение распространения спама. Некоторые провайдеры блокируют также исходящий 465ый.
Что делать в таком случае? Самое логичное — обращаться к провайдеру с просьбой этот порт открыть. Это именно ваш провайдер обрезает исходящие запросы на этот порт, и никто другой вам это ограничение не снимет. Второй вариант — настраивать так называемое туннелирование в обход ограничений провайдера, но это — значительно сложнее. Также если речь идет именно об электронной почте, можно просто перестать использовать почтовые клиенты и начать использовать Web-интерфейс, хотя, признаюсь, мне этот способ не нравится.
Но прежде чем писать обращение к провайдеру, стоит убедиться в том, что источник проблемы — не на вашем компьютере. Посмотрите, не установлены ли у вас какие-либо программы, блокирующие трафик по определенным портам TCP или UDP. Попробуйте их на секунду отключить, а также отключить антивирусные программы. Но не советую оставлять их выключенными — вы можете нарушить безопасность компьютера.
И еще раз пара слов о входящих портах. Они вам понядобятся, если вы сервер на своем компьютере или если вы пользуютесь файлообменными сетями типа торрента. В этом случае стоит позаботиться о том, чтобы у вас был реальный IP-адрес — обычно провайдеры предоставляют эту услугу за символическую плату. Далее опять-таки стоит проверить, не устанавливлено ли у вас программ, блокирующих соединения по каким-либо портам. Но даже если у вас таких программ нет, то блокировать соединения может брандмауэр Windows. Доступ к его настройкам находится в меню пуск, панель управления.
IP адреса → |
comments powered by DisqusИспользуемые источники:
- https://autogear.ru/article/251/615/tcp-portyi-spisok-portov-tcp-i-udp/
- https://techarks.ru/general/bezopasnost/chto-takoe-port-smb-dlya-chego-ispolzuyutsya-port-445-i-139/
- https://it.sander.su/port.php