2

Я запутался в концепции ПОРТА в сети.

Но не ясно, где они существуют? Мои Запросы ...

  1. Где они проживают?

  2. Могу ли я изменить их?

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

  4. Если номер порта заблокирован внутри маршрутизатора, как это сделать?

  5. Кто зарезервировал определенные номера портов для Интернета, SMTP, FTP и т.д.

Определение для немого пойдет для меня.

2 ответа2

1

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

Точно так же в сети порты и соответствующие правила брандмауэра определяют, какое приложение / протокол может взаимодействовать через определенный порт в сети. Например, порт 80 используется HTTP, 20 и 21 - FTP и т.д.

Когда ваш друг говорит "Порт 80 заблокирован его провайдером" - это может помешать ему просматривать веб-страницы своего соединения. В наши дни интернет-провайдеры (особенно поставщики мобильных данных) предлагают пакеты данных Интернета, которые разрешают доступ только для определенных приложений (например, Whatsapp, Facebook и т.д.), В этом случае они блокируют доступ ко всем портам, кроме тех, которые требуются для Whatsapp. , Facebook или приложение, за которое заплатил пользователь.

1
Are they only used to specify "which application should use the data? "

думаю, да. Или процесс, а не приложение. Процесс - это экземпляр приложения в памяти.

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

Когда говорят, что процесс прослушивает определенный порт X, это означает, что он читает или получает пакеты, порт которых установлен в X

Скажем, у вас есть два компьютера A и B

В B есть куча разных программ, запущенных разных процессов

каждый процесс на A и каждый процесс на B связан с портами. И поэтому, когда пакеты отправляются в A или B, процессы знают, какие пакеты для них.

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

Если A и B хотят общаться на другую тему или связанную тему, или пользователь на A или пользователь на B хотят .. Тогда они могут использовать новые порты. Таким образом, программы на A и B или пользователи на A и B могут видеть два канала связи по отдельности, просматривая все пакеты, где порт источника или назначения - X.

Что касается ваших вопросов

Где они проживают?

Скажем, у вас есть компьютер A и компьютер B, затем говорят, что у компьютера A открыт порт, а у компьютера B порт открыт. Это как идентификатор, программа "открывает порт", то есть она запрашивает у ОС, чтобы "порт" был выделен для его использования.

Могу ли я изменить их?

Есть два случая открытия порта. Порт появляется. Этот идентификатор создается для использования.

Один - когда программа инициирует соединение, а другой - когда программа прослушивает соединение. Слушание происходит первым.

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

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

Вы можете создать сервер .. настроить один

Tinyweb - маленький веб-сервер

Инструкции на этом сайте

https://www.ritlabs.com/en/products/tinyweb/install.php

поэтому создайте c:\blah\index.html, он может быть даже пустым.

это заставляет слушать порт 8000

Run TinyWeb on port 8000:
c:\tinyweb\tiny.exe c:\blah 8000

Затем вы можете выполнить http://127.0.0.1:8000. Получите доступ к локальному (виртуальному, я думаю) сетевому интерфейсу вашего компьютера. 127.0.0.1. Так называемый петлевой интерфейс.

Если вы установили tinyweb на другой порт, то вы бы http на другой порт, изменив номер после двоеточия

и просмотрите свою веб-страницу

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

Загрузка программ слушаю по порту. VNC, например, это программа, которая позволяет вам просматривать компьютер удаленно. У него есть настройки, где вы указываете порт

Существует программа с именем nc, которая может просто прослушивать порт и выводить все, что ему отправлено. Вы можете запустить это с Cygwin, если вы установите Cygwin.

Таким образом, программа сама может изменить порт, который она слушает. и вы можете сказать программу ..

Это для серверов, программ, которые слушают через порт

Программы, которые инициируют соединение с сервером, называются клиентскими программами. У вас всегда есть клиент и сервер .. Одна программа, которая слушает (обычно называемая клиентом) и одна программа, которая слушает (обычно называемая сервером).

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

Клиенты, то есть программы, инициирующие соединения, получают случайный номер порта выше 1024.

Если вы откроете cmd.exe и запустите netstat -aon вы увидите список соединений, включая порты. Он показывает локальный порт и удаленный порт для любого соединения.

Так что ищите номера портов <1024. Здесь у нас есть сервер, прослушивающий порт 1234 на моем компьютере (0.0.0.0 означает, что любой IP-адрес может подключиться ... хотя это может быть остановлено брандмауэром или NAPT-маршрутизатором).

А в другой строке посмотрите на внешний адрес, вы видите порт 80 .. это мой компьютер, подключающийся к веб-серверу

Порты> 1023 являются случайными портами

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

C:\>netstat -aon

  Proto  Local Address          Foreign Address        State           PID  
  TCP    0.0.0.0:1234           0.0.0.0:0              LISTENING       3656
  ...
  TCP    10.0.0.92:50735        147.148.112.39:80      CLOSE_WAIT      5340


How does the ISP blocks a Port(I have read in some articles where ISPs block certain ports numbers of a tenant and so tenant is not able to host a website)
If port number is blocked inside a Router, how is it done?

Маршрутизаторы NAT делают это. Хотя они тоже могут запускать брандмауэр, и это тоже может

Маршрутизаторы NAT выполняют форму NAT со многими именами, включая NAPT или NAT/PAT. Чтобы разблокировать его на маршрутизаторе NAT, вы должны выполнить "переадресацию портов". Это означает, что, когда делается запрос и приходит, как правило, из-за пределов Интернета, для подключения к вашему серверу, маршрутизатор передает его на один из ваших компьютеров, тот, на который вы указываете, который запускает сервер.

Программное обеспечение, которое они используют, называется брандмауэром. Вы тоже запускаете в Windows XP и Windows 7. Существуют также специальные аппаратные брандмауэры (они также запускают программное обеспечение брандмауэра)

Who has reserved certain Port Numbers for Web, SMTP, FTP, etc.

Это условности

IANA Я полагаю. И у них есть список их всех.

https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.txt

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .