Сетевой порт: различия между версиями

Материал из Викиучебника — открытых книг для открытого мира
Содержимое удалено Содержимое добавлено
Строка 75: Строка 75:
* [http://www.radiotoolbox.com/online_tools/cantheygetin.php www.radiotoolbox.com/online_tools/cantheygetin.php]
* [http://www.radiotoolbox.com/online_tools/cantheygetin.php www.radiotoolbox.com/online_tools/cantheygetin.php]
* [http://canyouseeme.org/ canyouseeme.org]
* [http://canyouseeme.org/ canyouseeme.org]
* [http://portscan.ru/ portscan.ru]
Недостатком такого метода является невозможность задать произвольный IP-адрес. Поэтому вы не можете проверять компьютеры других. И если вы пользуетесь веб-браузером через отдельный прокси, то проверка бесполезна — сканер будет пытаться начать соединение к IP-адресу прокси.
Недостатком такого метода является невозможность задать произвольный IP-адрес. Поэтому вы не можете проверять компьютеры других. И если вы пользуетесь веб-браузером через отдельный прокси, то проверка бесполезна — сканер будет пытаться начать соединение к IP-адресу прокси.



Версия от 18:05, 23 января 2011

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

Недоступным  порт прослушивания называют, когда эти приглашения не приходят, а пропадают где-то по дороге. Ещё такой порт часто называют «закрытым», поэтому шаги, делающие порт доступным, называют «открытием порта».

Как открыть порт

Если у вас «нет внешнего IP-adress» (то есть вы за NAT провайдера), то ничего сделать нельзя.

Иначе просто настройте свои сетевой экран (файервол) и маршрутизатор (роутер):

  1. Как настроить файервол
  2. Что такое NAT и как определить, находитесь ли вы за NAT
  3. Роутер и его настройки
  4. Использование UPnP для перенаправления порта
  5. Перенаправление порта вручную

Кому нужны доступные порты

Это зависит от программ, которыми вы пользуетесь:

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

Выбор номера

Порт — это просто любое условное число от 1 до 65535. Теоретически номер порта ни на что не влияет.

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

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

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

Для системных и некоторых популярных программ выделены общепринятые порты с номерами от 0 до 1023, называемые привилегированными или зарезервированными.

   * Порты с номерами 1024 — 49151 называются зарегистрированными портами.
   * Порты с номерами 49151 — 65535 называются динамическими портами.

Википедия [1] Список портов TCP и UDP

Проверка доступности

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

Клиентом

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

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

Telnet

Для проверки доступности TCP-порта (а большинство прикладных протоколов используют TCP) достаточно попытаться установить с вашим сервером «сырое» TCP-соединение с помощью telnet. Например в Windows выберите Пуск > Выполнить… и выполните команду cmd. Затем в появившемся окне командной строки наберите telnet IP-адрес порт

Если соединение установится, экран либо станет пустым, либо на нём появятся какие-то символы, в зависимости от вашего сервера. В случае неудачи появится сообщение о том, что соединение установить не получилось.

Сканером

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

Port Number:   5908       Check Port   Зайдите на страницу любого из них, например whatsmyip.org/ports. Введите номер порта для проверки и нажмите кнопку Check Port.

 Port Status
 Port 5908  Open

Ваш IP-адрес сканер видит сам, а порт вы ему сообщаете, и он делает попытку установить к вашему серверу TCP-соединение. Статус порта Open означает, что ваш порт прослушивания доступен и все в порядке.
Другие сканеры:

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

Этот сканер позволяет проверить порт для любого IP-адреса.

Как задать вопрос

Итак, у вас не получается открыть порт и вы собираетесь просить о помощи на каком-нибудь форуме.

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

  • о том, что вы запустили вашу программу и проверили доступность порта онлайновым сканером (в битторрент-клиенте не полагайтесь на индикатор порта или показания трекера)
  • адрес вашего компьютера из команды ipconfig (ifconfig для unix-подобных ОС)
  • адрес, под которым вас видно в Интернете (можно первые два числа из четырёх)
  • какой файервол и как вы пытались его настроить (со скриншотом)
  • какой роутер и как вы пытались его настроить (со скриншотом)