Для чего нужны номера портов

This article is about software communication ports. For physical ports, see Computer port (hardware).

«port (network)» redirects here. For ports in electrical networks, see Port (circuit theory).

In computer networking, a port or port number is a number assigned to uniquely identify a connection endpoint and to direct data to a specific service. At the software level, within an operating system, a port is a logical construct that identifies a specific process or a type of network service. A port at the software level is identified for each transport protocol and address combination by the port number assigned to it. The most common transport protocols that use port numbers are the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP); those port numbers are 16-bit unsigned numbers.

A port number is always associated with a network address of a host, such as an IP address, and the type of transport protocol used for communication. It completes the destination or origination address of a message. Specific port numbers are reserved to identify specific services so that an arriving packet can be easily forwarded to a running application. For this purpose, port numbers lower than 1024 identify the historically most commonly used services and are called the well-known port numbers. Higher-numbered ports are available for general use by applications and are known as ephemeral ports.

Ports provide a multiplexing service for multiple services or multiple communication sessions at one network address. In the client–server model of application architecture, multiple simultaneous communication sessions may be initiated for the same service.

Port number[edit]

For TCP and UDP, a port number is a 16-bit unsigned integer, thus ranging from 0 to 65535. For TCP, port number 0 is reserved and cannot be used, while for UDP, the source port is optional and a value of zero means no port. A process associates its input or output channels via an internet socket, which is a type of file descriptor, associated with a transport protocol, a network address such as an IP address, and a port number. This is known as binding. A socket is used by a process to send and receive data via the network. The operating system’s networking software has the task of transmitting outgoing data from all application ports onto the network, and forwarding arriving network packets to processes by matching the packet’s IP address and port number to a socket. For TCP, only one process may bind to a specific IP address and port combination. Common application failures, sometimes called port conflicts, occur when multiple programs attempt to use the same port number on the same IP address with the same protocol.

Applications implementing common services often use specifically reserved well-known port numbers for receiving service requests from clients. This process is known as listening, and involves the receipt of a request on the well-known port potentially establishing a one-to-one server-client dialog, using this listening port. Other clients may simultaneously connect to the same listening port; this works because a TCP connection is identified by a tuple consisting of the local address, the local port, the remote address, and the remote port.[1] The well-known ports are defined by convention overseen by the Internet Assigned Numbers Authority (IANA). In many operating systems special privileges are required for applications to bind to these ports because these are often deemed critical to the operation of IP networks. Conversely, the client end of a connection typically uses a high port number allocated for short term use, therefore called an ephemeral port.

Common port numbers[edit]

IANA is responsible for the global coordination of the DNS root, IP addressing, and other protocol resources. This includes the registration of commonly used TCP and UDP port numbers for well-known internet services.

The port numbers are divided into three ranges: the well-known ports, the registered ports, and the dynamic or private ports.

The well-known ports (also known as system ports) are those numbered from 0 through 1023. The requirements for new assignments in this range are stricter than for other registrations.[2]

Notable well-known port numbers

Number Assignment
20 File Transfer Protocol (FTP) Data Transfer
21 File Transfer Protocol (FTP) Command Control
22 Secure Shell (SSH) Secure Login
23 Telnet remote login service, unencrypted text messages
25 Simple Mail Transfer Protocol (SMTP) email delivery
53 Domain Name System (DNS) service
67, 68 Dynamic Host Configuration Protocol (DHCP)
80 Hypertext Transfer Protocol (HTTP) used in the World Wide Web
110 Post Office Protocol (POP3)
119 Network News Transfer Protocol (NNTP)
123 Network Time Protocol (NTP)
143 Internet Message Access Protocol (IMAP) Management of digital mail
161 Simple Network Management Protocol (SNMP)
194 Internet Relay Chat (IRC)
443 HTTP Secure (HTTPS) HTTP over TLS/SSL
546, 547 DHCPv6 IPv6 version of DHCP

The registered ports are those from 1024 through 49151. IANA maintains the official list of well-known and registered ranges.[3]

The dynamic or private ports are those from 49152 through 65535. One common use for this range is for ephemeral ports.

Network behavior[edit]

Transport-layer protocols, such as the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP), transfer data using protocol data units (PDUs). For TCP, the PDU is a segment, and for UDP it is a datagram. Both protocols use a header field for indicating the source and destination port numbers. The port numbers are encoded in the transport protocol packet header, and they can be readily interpreted not only by the sending and receiving hosts but also by other components of the networking infrastructure. In particular, firewalls are commonly configured to differentiate between packets based on their source or destination port numbers. Port forwarding is an example application of this.

Port scanning[edit]

The practice of attempting to connect to a range of ports in sequence on a single host is commonly known as port scanning. This is usually associated either with malicious cracking attempts or with network administrators looking for possible vulnerabilities to help prevent such attacks. Port connection attempts are frequently monitored and logged by hosts. The technique of port knocking uses a series of port connections (knocks) from a client computer to enable a server connection.

Examples[edit]

An example of the use of ports is the delivery of email. A server used for sending and receiving email generally needs two services. The first service is used to transport email to and from other servers. This is accomplished with the Simple Mail Transfer Protocol (SMTP). A standard SMTP service application listens on TCP port 25 for incoming requests. The second service is usually either the Post Office Protocol (POP) or the Internet Message Access Protocol (IMAP) which is used by email client applications on users’ personal computers to fetch email messages from the server. The POP service listens on TCP port number 110. Both services may be running on the same host computer, in which case the port number distinguishes the service that was requested by a remote computer, be it a user’s computer or another mail server.

While the listening port number of a server is well defined (IANA calls these the well-known ports), the client’s port number is often chosen from the dynamic port range (see below). In some applications, the clients and the server each use specific port numbers assigned by the IANA. A good example of this is DHCP in which the client always uses UDP port 68 and the server always uses UDP port 67.

Use in URLs[edit]

Port numbers are sometimes seen in web or other uniform resource locators (URLs). By default, HTTP uses port 80 and HTTPS uses port 443, but a URL like http://www.example.com:8080/path/ specifies that the web browser connects instead to port 8080 of the HTTP server.

History[edit]

The concept of port numbers was established by the early developers of the ARPANET in informal cooperation of software authors and system administrators. The term port number was not yet in use. It was preceded by the use of the term socket number in the early development stages of the network. A socket number for a remote host was a 40-bit quantity.[4] The first 32 bits were similar to today’s IPv4 address, but at the time the most-significant 8 bits were the host number. The least-significant portion of the socket number (bits 33 through 40) was an entity called Another Eightbit Number, abbreviated AEN.[5] Today, network socket refers to a related but distinct concept, namely the internal address of an endpoint used only within the node.

On March 26, 1972, Vint Cerf and Jon Postel called for documenting the then-current usages and establishing a socket number catalog in RFC 322. Network administrators were asked to submit a note or place a phone call, «describing the function and socket numbers of network service programs at each HOST«.[6] This catalog was subsequently published as RFC 433 in December 1972 and included a list of hosts and their port numbers and the corresponding function used at each host in the network. This first registry function served primarily as documentation of usage and indicated that port number usage was conflicting between some hosts for «useful public services«.[5] The document promised a resolution of the conflicts based on a standard that Postel had published in May 1972 in RFC 349, in which he first proposed official assignments of port numbers to network services and suggested a dedicated administrative function, which he called a czar, to maintain a registry.[7]
The 256 values of the AEN were divided into the following ranges:

AEN ranges

Port number range Assignment
0 through 63 Network-wide standard functions
64 through 127 Host-specific functions
128 through 239 Reserved for future use
240 through 255 Any experimental function

The Telnet service received the first official assignment of the value 1.
In detail, the first set of assignments was:[7]

Port assignments in RFC 349

Port number Assignment
1 Telnet
3 File transfer
5 Remote job entry
7 Echo
9 Discard

In the early ARPANET, the AEN was also called a socket name,[8] and was used with the Initial Connection Protocol (ICP), a component of the Network Control Protocol (NCP).[9][10] NCP was the forerunner of the modern Internet protocols. Today the terminology service name is still closely connected with port numbers, the former being text strings used in some network functions to represent a numerical port number.

References[edit]

  1. ^ Postel, John. Transport Control Protocol. doi:10.17487/RFC0793. RFC 793. Retrieved 1 January 2023.
  2. ^ Michelle Cotton; Lars Eggert; et al. (August 2011). Internet Assigned Numbers Authority (IANA) Procedures for the Management of the Service Name and Transport Protocol Port Number Registry. IETF. doi:10.17487/RFC6335. BCP 165. RFC 6335.
  3. ^ «Port Numbers». Internet Assigned Numbers Authority (IANA).
  4. ^ Crocker, S. (16 March 1970). Protocol Notes. doi:10.17487/RFC0036. RFC 36.
  5. ^ a b Postel, J.; Neigus, N. (22 December 1972). Socket number list. doi:10.17487/RFC0433. RFC 433.
  6. ^ Cerf, V.; Postel, J. (26 March 1972). Well Known Socket Numbers. doi:10.17487/RFC0322. RFC 322.
  7. ^ a b Postel, J. (30 May 1972). Proposed Standard Socket Numbers. doi:10.17487/RFC0349. RFC 349.
  8. ^ Shoshani, A.; Harslem, E. (14 July 1971). Initial Connection Protocol—Reviewed. doi:10.17487/RFC0197. RFC 197.
  9. ^ NIC 7104, ARPANET Protocol Handbook
  10. ^ Postel, Jon; Feinler, E. (1978). ARPANET Protocol Handbook. Menlo Park, CA: Network Information Center.

This article is about software communication ports. For physical ports, see Computer port (hardware).

«port (network)» redirects here. For ports in electrical networks, see Port (circuit theory).

In computer networking, a port or port number is a number assigned to uniquely identify a connection endpoint and to direct data to a specific service. At the software level, within an operating system, a port is a logical construct that identifies a specific process or a type of network service. A port at the software level is identified for each transport protocol and address combination by the port number assigned to it. The most common transport protocols that use port numbers are the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP); those port numbers are 16-bit unsigned numbers.

A port number is always associated with a network address of a host, such as an IP address, and the type of transport protocol used for communication. It completes the destination or origination address of a message. Specific port numbers are reserved to identify specific services so that an arriving packet can be easily forwarded to a running application. For this purpose, port numbers lower than 1024 identify the historically most commonly used services and are called the well-known port numbers. Higher-numbered ports are available for general use by applications and are known as ephemeral ports.

Ports provide a multiplexing service for multiple services or multiple communication sessions at one network address. In the client–server model of application architecture, multiple simultaneous communication sessions may be initiated for the same service.

Port number[edit]

For TCP and UDP, a port number is a 16-bit unsigned integer, thus ranging from 0 to 65535. For TCP, port number 0 is reserved and cannot be used, while for UDP, the source port is optional and a value of zero means no port. A process associates its input or output channels via an internet socket, which is a type of file descriptor, associated with a transport protocol, a network address such as an IP address, and a port number. This is known as binding. A socket is used by a process to send and receive data via the network. The operating system’s networking software has the task of transmitting outgoing data from all application ports onto the network, and forwarding arriving network packets to processes by matching the packet’s IP address and port number to a socket. For TCP, only one process may bind to a specific IP address and port combination. Common application failures, sometimes called port conflicts, occur when multiple programs attempt to use the same port number on the same IP address with the same protocol.

Applications implementing common services often use specifically reserved well-known port numbers for receiving service requests from clients. This process is known as listening, and involves the receipt of a request on the well-known port potentially establishing a one-to-one server-client dialog, using this listening port. Other clients may simultaneously connect to the same listening port; this works because a TCP connection is identified by a tuple consisting of the local address, the local port, the remote address, and the remote port.[1] The well-known ports are defined by convention overseen by the Internet Assigned Numbers Authority (IANA). In many operating systems special privileges are required for applications to bind to these ports because these are often deemed critical to the operation of IP networks. Conversely, the client end of a connection typically uses a high port number allocated for short term use, therefore called an ephemeral port.

Common port numbers[edit]

IANA is responsible for the global coordination of the DNS root, IP addressing, and other protocol resources. This includes the registration of commonly used TCP and UDP port numbers for well-known internet services.

The port numbers are divided into three ranges: the well-known ports, the registered ports, and the dynamic or private ports.

The well-known ports (also known as system ports) are those numbered from 0 through 1023. The requirements for new assignments in this range are stricter than for other registrations.[2]

Notable well-known port numbers

Number Assignment
20 File Transfer Protocol (FTP) Data Transfer
21 File Transfer Protocol (FTP) Command Control
22 Secure Shell (SSH) Secure Login
23 Telnet remote login service, unencrypted text messages
25 Simple Mail Transfer Protocol (SMTP) email delivery
53 Domain Name System (DNS) service
67, 68 Dynamic Host Configuration Protocol (DHCP)
80 Hypertext Transfer Protocol (HTTP) used in the World Wide Web
110 Post Office Protocol (POP3)
119 Network News Transfer Protocol (NNTP)
123 Network Time Protocol (NTP)
143 Internet Message Access Protocol (IMAP) Management of digital mail
161 Simple Network Management Protocol (SNMP)
194 Internet Relay Chat (IRC)
443 HTTP Secure (HTTPS) HTTP over TLS/SSL
546, 547 DHCPv6 IPv6 version of DHCP

The registered ports are those from 1024 through 49151. IANA maintains the official list of well-known and registered ranges.[3]

The dynamic or private ports are those from 49152 through 65535. One common use for this range is for ephemeral ports.

Network behavior[edit]

Transport-layer protocols, such as the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP), transfer data using protocol data units (PDUs). For TCP, the PDU is a segment, and for UDP it is a datagram. Both protocols use a header field for indicating the source and destination port numbers. The port numbers are encoded in the transport protocol packet header, and they can be readily interpreted not only by the sending and receiving hosts but also by other components of the networking infrastructure. In particular, firewalls are commonly configured to differentiate between packets based on their source or destination port numbers. Port forwarding is an example application of this.

Port scanning[edit]

The practice of attempting to connect to a range of ports in sequence on a single host is commonly known as port scanning. This is usually associated either with malicious cracking attempts or with network administrators looking for possible vulnerabilities to help prevent such attacks. Port connection attempts are frequently monitored and logged by hosts. The technique of port knocking uses a series of port connections (knocks) from a client computer to enable a server connection.

Examples[edit]

An example of the use of ports is the delivery of email. A server used for sending and receiving email generally needs two services. The first service is used to transport email to and from other servers. This is accomplished with the Simple Mail Transfer Protocol (SMTP). A standard SMTP service application listens on TCP port 25 for incoming requests. The second service is usually either the Post Office Protocol (POP) or the Internet Message Access Protocol (IMAP) which is used by email client applications on users’ personal computers to fetch email messages from the server. The POP service listens on TCP port number 110. Both services may be running on the same host computer, in which case the port number distinguishes the service that was requested by a remote computer, be it a user’s computer or another mail server.

While the listening port number of a server is well defined (IANA calls these the well-known ports), the client’s port number is often chosen from the dynamic port range (see below). In some applications, the clients and the server each use specific port numbers assigned by the IANA. A good example of this is DHCP in which the client always uses UDP port 68 and the server always uses UDP port 67.

Use in URLs[edit]

Port numbers are sometimes seen in web or other uniform resource locators (URLs). By default, HTTP uses port 80 and HTTPS uses port 443, but a URL like http://www.example.com:8080/path/ specifies that the web browser connects instead to port 8080 of the HTTP server.

History[edit]

The concept of port numbers was established by the early developers of the ARPANET in informal cooperation of software authors and system administrators. The term port number was not yet in use. It was preceded by the use of the term socket number in the early development stages of the network. A socket number for a remote host was a 40-bit quantity.[4] The first 32 bits were similar to today’s IPv4 address, but at the time the most-significant 8 bits were the host number. The least-significant portion of the socket number (bits 33 through 40) was an entity called Another Eightbit Number, abbreviated AEN.[5] Today, network socket refers to a related but distinct concept, namely the internal address of an endpoint used only within the node.

On March 26, 1972, Vint Cerf and Jon Postel called for documenting the then-current usages and establishing a socket number catalog in RFC 322. Network administrators were asked to submit a note or place a phone call, «describing the function and socket numbers of network service programs at each HOST«.[6] This catalog was subsequently published as RFC 433 in December 1972 and included a list of hosts and their port numbers and the corresponding function used at each host in the network. This first registry function served primarily as documentation of usage and indicated that port number usage was conflicting between some hosts for «useful public services«.[5] The document promised a resolution of the conflicts based on a standard that Postel had published in May 1972 in RFC 349, in which he first proposed official assignments of port numbers to network services and suggested a dedicated administrative function, which he called a czar, to maintain a registry.[7]
The 256 values of the AEN were divided into the following ranges:

AEN ranges

Port number range Assignment
0 through 63 Network-wide standard functions
64 through 127 Host-specific functions
128 through 239 Reserved for future use
240 through 255 Any experimental function

The Telnet service received the first official assignment of the value 1.
In detail, the first set of assignments was:[7]

Port assignments in RFC 349

Port number Assignment
1 Telnet
3 File transfer
5 Remote job entry
7 Echo
9 Discard

In the early ARPANET, the AEN was also called a socket name,[8] and was used with the Initial Connection Protocol (ICP), a component of the Network Control Protocol (NCP).[9][10] NCP was the forerunner of the modern Internet protocols. Today the terminology service name is still closely connected with port numbers, the former being text strings used in some network functions to represent a numerical port number.

References[edit]

  1. ^ Postel, John. Transport Control Protocol. doi:10.17487/RFC0793. RFC 793. Retrieved 1 January 2023.
  2. ^ Michelle Cotton; Lars Eggert; et al. (August 2011). Internet Assigned Numbers Authority (IANA) Procedures for the Management of the Service Name and Transport Protocol Port Number Registry. IETF. doi:10.17487/RFC6335. BCP 165. RFC 6335.
  3. ^ «Port Numbers». Internet Assigned Numbers Authority (IANA).
  4. ^ Crocker, S. (16 March 1970). Protocol Notes. doi:10.17487/RFC0036. RFC 36.
  5. ^ a b Postel, J.; Neigus, N. (22 December 1972). Socket number list. doi:10.17487/RFC0433. RFC 433.
  6. ^ Cerf, V.; Postel, J. (26 March 1972). Well Known Socket Numbers. doi:10.17487/RFC0322. RFC 322.
  7. ^ a b Postel, J. (30 May 1972). Proposed Standard Socket Numbers. doi:10.17487/RFC0349. RFC 349.
  8. ^ Shoshani, A.; Harslem, E. (14 July 1971). Initial Connection Protocol—Reviewed. doi:10.17487/RFC0197. RFC 197.
  9. ^ NIC 7104, ARPANET Protocol Handbook
  10. ^ Postel, Jon; Feinler, E. (1978). ARPANET Protocol Handbook. Menlo Park, CA: Network Information Center.

В компьютерах есть два вида портов — физические и программные (или сетевые):

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

Сетевой порт — то число, которое записывается в заголовках протоколов транспортного уровня сетевой модели 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 адресом или комбинацией этих составляющих сетевой идентификации системы с целью стать на ожидание запросов со стороны клиента сервиса
  • Сканирование портов — проверка состояния портов с целью распознать их готовность к дальнейшим действиям

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

Содержание

  1. Определение
  2. Номера портов
  3. Просмотр открытых и закрытых портов
  4. Таблица портов
  5. Открытие и закрытие
  6. Проброс
  7. Задать вопрос автору статьи

Определение

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

Что такое сетевой порт в компьютере и сколько их бывает: отвечает Бородач

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

Но тут встаёт небольшая проблема, когда пакет информации доходит, компьютер или сервер не понимает – в каком приложении его открывать?! Вот за данную функцию частично и отвечают порты. Например, пользователь сделал запрос в интернете на определенный сайт. Далее пакет данных доходит до сервера, на котором работает одновременно много системных служб и программ.

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

Что такое сетевой порт в компьютере и сколько их бывает: отвечает Бородач

Если говорить грубо, то IP (в нашем примере) – это адрес дома. Но когда почтальон приходит к дому, он не знает в какую квартиру отнести письмо. И вот порт – это и есть номер квартиры. На данный момент существует определенное число портов – 65 535. Вы можете заметить аналогию с многоквартирным домом, по сути в каждом доме есть определенное количество квартир.

Некоторые порты компьютера могут быть открыты или закрыты в зависимости от настроек системы. Также некоторые приложения открывают свои порты или используют смежные. Также не забываем, что для передачи информации по сети используется модель TCP/IP или UDP. Ещё один пример, который сможет более точно объяснить – для чего же нужны сетевые порты на компьютере.

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

Вот тут и будет вступать в силу порт. В данном случае чаще всего используется номера: 80 или 8080. Именно поэтому Вася должен на своем компьютере открыть локальный порт для своего сайта. Конечно объяснение было немного грубое, и все там обстоит куда сложнее, но моя задача была разъяснить именно суть и назначение порта. Потому что почему-то нигде толкового объяснения нет, а многие оперируют сложными техническими понятиями.

Номера портов

И так товарищ, ты теперь почти просветлел и понял – что же такое порт. Теперь же давайте поговорим про понятие «номер порта». Как я уже и говорил, в каждом компьютере, сервере, маршрутизаторе существует ровно 65 535 портов. Конечно, используются они не все и есть свободные «адреса».

С 0 до 1023-го – это зарезервированные «квартиры» для систем как Windows, так и Linux. Насчет Mac OS сказать не могу, с данной ОС не работал. Далее с 1024 по 49151 идут свободно используемые входы. То есть их могут использовать отдельные приложения, утилиты или даже системные службы. Некоторые программы могут одновременно использовать один и тот же номер.

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

Но со временем за определенными портами закрепились отведенные службы. Вот пример нескольких из них:

  • 20, 21: FTP
  • 22: SSH
  • 23: Telnet
  • 25: SMTP
  • 43: WHOIS
  • 53: DNS
  • 67, 68: DHCP
  • 80: HTTP (Веб-port)
  • 110: POP3
  • 113: аутентификация в IRC
  • 143: IMAP
  • 161: SNMP
  • 194: IRC
  • 389: LDAP
  • 443: HTTPS
  • 587: SMTP
  • 631: CUPS

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

ПРИМЕЧАНИЕ! Портовая конфигурация также есть у роутеров и провайдера.

Просмотр открытых и закрытых портов

Чтобы посмотреть все входные номера, которые используются, заблокированы или ждут своей очереди – можно через консоль. В Windows достаточно зайти в командную строку: для этого нажимаем на кнопки и R и прописываем команду «cmd». Далее нужно будет ввести:

netstat -a

Что такое сетевой порт в компьютере и сколько их бывает: отвечает Бородач

В Kali Linux прописываем другую команду:

less /usr/share/nmap/nmap-services

Для удобства я все же советую использовать удобную программку «Process and port analyzer». Она в более удобном виде выводит все задействованный список портов на данном устройстве. Вы можете посмотреть зарезервированные, свободные и используемые номера.

Что такое сетевой порт в компьютере и сколько их бывает: отвечает Бородач

Таблица портов

Открытие и закрытие

Как я уже и говорил ранее – данную функцию выполняет сама система или установленные программы. Но вы сами можете изменять или добавлять некоторые правила. По сути вам нужно указать сетевой порт, а также приложение или программу, для которой это правило будет действовать. Если же вы будете производить настройку на роутере, то нужно будет указывать IP адрес устройства переадресации.

Для начала вам нужно определиться с тем – какой «вход» вы хотите открыть и для чего. Номер и название приложение вы можете посмотреть в том PDF файле, который я прикрепил выше. Покажу на примере игры World of Warcraft. Будем открывать официально зарезервированный номерной «вход» – 3724. Вообще в играх чаще всего используется именно UDP порт, который работает в потоковой передаче данных. Но вам нужно смотреть именно в столбец с портом: там будет подсказка, какой протокол надо использовать в выбранном приложении (TCP или UDP).

  1. В Windows нужно открыть меню «Пуск» и перейти в «Панель управления».
  2. Заходим в «Брандмауэр»

Что такое сетевой порт в компьютере и сколько их бывает: отвечает Бородач

  1. «Дополнительные параметры»

Что такое сетевой порт в компьютере и сколько их бывает: отвечает Бородач

  1. Слева в окне нажимаем «Правила для входящих подключений». Вы сразу тут увидите очень много правил под каждое установленное приложение.

Что такое сетевой порт в компьютере и сколько их бывает: отвечает Бородач

  1. В окошке справа выбираем «Создать правило…». Так как мы будем открывать порт для игры, то выбираем вторую галочку.

Что такое сетевой порт в компьютере и сколько их бывает: отвечает Бородач

  1. Создаем UDP правило и вводим только номер, указанные в том PDF файлике – в моем случае это: 3724 (я показываю на примере игры WOW у вас может быть совершенно другой номер). Вы также можете указать диапазон номеров. Для TCP и UDP лучше создать два правила отдельно.

Что такое сетевой порт в компьютере и сколько их бывает: отвечает Бородач

  1. Оставляем значение по умолчанию «Разрешить подключение».

ПРИМЕЧАНИЕ! Таким образом вы можете закрыть определенный «вход», выбрав «Блокировать подключение».

Что такое сетевой порт в компьютере и сколько их бывает: отвечает Бородач

  1. Далее идут правила профилей – можно оставить все. Самое главное, чтобы при подключении к удаленному ресурсу через интернет был включен «Публичный» профиль.

Что такое сетевой порт в компьютере и сколько их бывает: отвечает Бородач

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

Что такое сетевой порт в компьютере и сколько их бывает: отвечает Бородач

Проброс

Открытие и проброс портов – это разные вещи, хоть некоторые их и путают. Когда вы открываете какой-то «вход», то вы делаете это на конкретном устройстве – например, на своём компьютере. Проброс портов – обычно делается на сетевом шлюзе, который из внешней сети принимает какой-то запрос от пользователя. Далее он или разрешает данный запрос, или запрещает. Чаще всего если порт не проброшен, то идет точный запрет, и пользователь не получит ответа.

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

Что такое сетевой порт в компьютере и сколько их бывает: отвечает Бородач

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

По пробросу у нас уже есть отдельные инструкции на сайте:

  • D-Link
  • ASUS
  • TP-Link
  • Tenda
  • Upvel
  • ZyXEL Keenetic

Если у вас ещё остались вопрос или есть дополнения, то пишите в комментариях.

13.12.18 ИТ / Разное 35520

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

what-network-port-site-list-ports

Для начала дадим определение — что такое сетевой порт с технической точки зрения. Это натуральное число от 0 до 65535, которое записывается в заголовках протоколов транспортного уровня сетевой модели OSI. Оно используется для определения программы или процесса-получателя пакета в пределах одного IP-адреса. Но такое определение понятно только специалистам, а работать с портами бывает приходиться и обычным пользователям – например, необходимо освободить занятый порт.

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

При обращении к сайту браузер обычно не указывает порт в строке адреса, он подставляет его автоматически. Например, запрос к сайту https://example.com на самом деле выглядит как https://example.com:443. Порт в URL-адресе указывается после двоеточия, в данном примере 443 – для https (если бы использовался http – порт был бы 80).

Просканировать и проверить порты можно при помощи специальных сервисов в интернете или при помощи стандартных утилит ОС. Некоторые порты зарезервировала для себя корпорация IANA, которая отвечает за правильное функционирование сетевых протоколов. Это короткие номера идентификаторов, диапазон чисел от 0 до 1023 (всего – 1024).

Список портов по умолчанию для популярных протоколов:

  • 21 – ftp;
  • 22 – ssh;
  • 23 – telnet;
  • 25 – smtp;
  • 43 – whois;
  • 53 – dns;
  • 68 – dhcp;
  • 80 – http;
  • 110 – pop3;
  • 115 – sftp;
  • 119 – nntp;
  • 123 – ntp;
  • 139 – netbios;
  • 143 – imap;
  • 161 – snmp;
  • 179 – bgp;
  • 220 – imap3;
  • 389 – ldap;
  • 443 – https;
  • 993 – imaps;
  • 1723 – pptp;
  • 2049 – nfs;
  • 3306 – mysql;
  • 3389 – rdp;
  • 5060 – sip;
  • 8080 – http (альтернативный).

Как видно из списка, если порт занят, можно использовать альтернативный. Порт 80 и 8080 — разница здесь не существенна, просто если порт 80 занят, можно дописать еще число 80 и получится порт 8080.

Частый вопрос — как открыть закрытый порт? Это делается в настройках файрволла (брандмауэр) компьютера или сервера. Обычно достаточно открыть его дополнительные параметры и там создать правила для входящих подключений, в которых потребуется выбрать нужный протокол и прописать нужные порты. А как освободить занятый порт? Для этого необходимо узнать какой программой он занят и просто закрыть ее или указать в ее настройках другой порт.

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

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

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

Как работают номера портов

Номера портов относятся к сетевой адресации. В сетях TCP / IP и TCP, и UDP используют собственный набор портов, которые работают вместе с IP-адресами.

Эти номера портов работают как телефонные номера. Так же, как коммутатор для служебных телефонов может использовать основной номер телефона и назначать каждому сотруднику добавочный номер (например, x100, x101 и т. Д.), Так и компьютер может иметь основной адрес и набор номеров портов для обработки входящих и исходящих соединений.

Точно так же, как один телефонный номер может использоваться для всех сотрудников в этом здании, один IP-адрес может использоваться для связи с различными видами приложений за одним маршрутизатором; IP-адрес идентифицирует конечный компьютер, а номер порта – конкретное целевое приложение.

Это верно, будь то почтовое приложение, программа передачи файлов, веб-браузер и т. Д. Когда вы запрашиваете веб-сайт из веб-браузера, браузер связывается через порт 80 для HTTP, поэтому данные затем отправляются обратно через тот же порт и отображается в программе, которая поддерживает этот порт (веб-браузер).

И в TCP, и в UDP номера портов начинаются с 0 и доходят до 65535. Номера в нижних диапазонах предназначены для общих интернет-протоколов, таких как порт 25 для SMTP и порт 21 для FTP.

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

Когда вам нужно принять меры с номерами портов

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

Тем не менее, отдельные лица могут сталкиваться с номерами сетевых портов в определенных ситуациях.

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

Программистам сети иногда необходимо указывать номера портов в своем коде, например, при программировании сокетов.

URL-адрес веб-сайта иногда требует указания определенного номера порта TCP. Например, http://localhost:8080/ использует TCP-порт 8080, а не порт 80 по умолчанию. Опять же, это обычно наблюдается в средах разработки программного обеспечения больше, чем в обычном потребительском использовании.

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

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

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

Команда netstat в Windows может использоваться для просмотра информации об активных соединениях TCP и UDP.

  • Для чего нужны заметки в телефоне
  • Для чего нужно облако в телефоне
  • Для чего нужна флешка в телефоне
  • Для чего нужна синхронизация в телефоне
  • Для чего нужна прошивка для телефона