Способы проверки доступности tcp-портов
Как открыть порт в Windows 7 и Windows 8
О том, как открыть порт на роутерах различных моделей я написал уже немало статей. Но в х почти к каждой из таких инструкций я сталкиваюсь с такой ситуацией, что пользователь открывает порт на роутере, но при проверке его из-вне — оказывается что он закрыт.
В это многие упираются и не знают что делать дальше. Одной из частых причин является система безопасности компьютера. Дело тут в том, что открыть порт на роутере часто оказывается половиной дела — нужно ещё открыть его и в правилах брандмауэра (фаервола) на компьютере.
1 практически идентична, соответственно как и процедура создания правил проброса портов.
Как попасть в настройки брандмауэра Windows
Настройка встроенного брандмауэра находится в «Панели управления», раздел «Система и безопасность».
В Windows 8 и 8.1 можно воспользоваться элементом рабочего стола — Поиск. Нужно начать вводить слово «Брандмауэр» и система выдаст ссылку в результатах.
Ещё один быстрый и удобный способ быстро попасть в настройки Брандмауэра — нажать комбинацию клавиш Win+R:
В строке открыть пишем firewall.cpl, нажимаем кнопку ОК.
Как открыть порт в брандмауэре Windows
Вам откроется раздел настройки Брандмауэра в режиме повышенной безопасности. В поле слева кликаем на раздел «Правила для входящих соединений»:
Откроется список всех правил для входящих соединений. Теперь надо создать правило. Для этого справа, в окне «Действия», кликаем на ссылку «Создать правило».
Откроется Мастер создания правила для нового входящего подключения:
Выбираем тип правила — «Для порта». Нажимаем кнопку Далее.
Теперь нужно выбрать тип протокола и указать порт. «Тип протокола» для игр, как правило, «Протокол TCP». В некоторых случаях, например для файлообменных программ или игр, нужно ещё открыть и порт UDP.
Поэтому, если нужно открыть и TCP-порт и UDP-порт в Windows — Вам придется создавать два правила. В поле Определенные порты нужно указать номер нужного порта. Например, для Minecraft нужно открывать порт 25565 и TCP и UDP.
Нажимаем кнопку Далее.
Ставим галку «Разрешить подключение». Нажимаем кнопку Далее.
Здесь ничего не меняем. Нажимаем кнопку Далее.
В поле Имя прописываем название для создаваемого правила — например DC++ или Minecraft. Нажимаем кнопку Готово.
Правило создано и порт в брандмауэре Windows 7 и Windows 8 открыт. Проверить доступность порта из-вне можно с помощью программы PFPortChecker.
Только теперь не для порта — а «Для программы». Нажимаем кнопку Далее.
Выбираем пункт «Путь программы» и нажимаем кнопку Обзор. В открывшемся окне нужно выбрать программы, к которой нужен доступ из внешней сети — например, UTorrent, DC++ или Minecraft. Нажимаем кнопку Далее.
Ставим галочку «Разрешить подключение». Нажимаем кнопку Далее.
В этом окне ничего не меняя, нажимаем кнопку Далее.
В поле имя вводим название правила — например, dc++, utorrnet или minecraft и нажимаем кнопку Готово.
Правило для программы создано.
Если и это не помогло — можно попробовать для чистоты эксперимента вообще отключить встроенных в систему фаервол.
Как отключить Брандмауэр Windows 7, Windows 8 и Windows 8.1
Для того, чтобы отключить встроенный в систему фаервол нужно в настройках Брандмауэра выбрать пункт «Включение и отключение брандмауэра Windows»:
Вам откроется вот такое окно «Настройки параметров для каждого типа сети»:
Для всех типов сетей ставим галку «Отключить брандмауэр Windows». Нажимаем кнопку ОК. После этого брандмауэр станет неактивен и Ваша операционная система будет полностью открыта угрозам из внешней сети.
Поэтому я рекомендую отключать брандмауэр либо только кратковременно, для диагностики проблем с доступностью порта из-вне, либо если Вы переходите на другой, сторонний пакетный фильтр (фаервол).
Постоянная работа в сети Интернет с отключенным брандмауэром (фаерволом) крайне нежелательна.
Как открыть или заблокировать порт TCP или UDP
Теперь, когда вы определили порты TCP и UDP на своем ПК с Windows, самое важное. Прежде всего, вам может потребоваться открыть порт для бесперебойной работы приложения
С другой стороны, вам может потребоваться заблокировать определенные порты, поскольку они больше не используются и могут выступать в качестве шлюза для угроз. Следовательно, такие порты блокируются брандмауэром
Прежде всего, вам может потребоваться открыть порт для бесперебойной работы приложения. С другой стороны, вам может потребоваться заблокировать определенные порты, поскольку они больше не используются и могут выступать в качестве шлюза для угроз. Следовательно, такие порты блокируются брандмауэром.
Выполните следующие действия, чтобы открыть или заблокировать порт TCP или UDP.
Откройте меню «Пуск», нажав клавишу Windows. Тип Брандмауэр Защитника Windows, и выберите Брандмауэр Защитника Windows в режиме повышенной безопасности от результатов.
Откроется следующее окно.
Нажать на Входящие правила вкладка в меню слева.
Нажать на Новое правило… на панели Действия в правом боковом меню. Когда откроется это окно, выберите Порт переключатель и щелкните Следующий.
При нажатии Следующий вкладка, следующее окно Мастер создания нового входящего правила открывается. В этом окне вы можете выбрать тип порта, который хотите открыть или заблокировать. Вы также можете выбрать, хотите ли вы открыть или заблокировать все порты выбранного типа или определенный локальный порт. Укажите количество или диапазон локальных портов, которые вы хотите открыть или заблокировать. И нажмите Следующий.
Следующее окно открывается, когда вы нажимаете Далее. Здесь вы можете открыть порты, выбрав Разрешить соединение или же Разрешить соединение, если оно безопасное Радио-кнопки. Выберите третий переключатель Заблокировать соединение чтобы заблокировать указанные порты.
Теперь выберите, применяется ли правило к Домен, Частный или же Общественные или все это. Нажмите Следующий.
Следующее окно открывается при нажатии Следующий. В этом окне укажите Имя для этого нового правила для входящих подключений. Вы также можете указать, какие порты были заблокированы или открыты в Описание раздел.
Нажмите Заканчивать для создания этого нового правила для входящих подключений.
Обратите внимание, что иногда после блокировки определенного порта приложения могут работать некорректно. Вы также можете столкнуться с проблемами при подключении к определенным ресурсам
Это означает, что заблокированный вами порт может потребоваться открыть. Вы можете отменить блокировку портов в любое время, выполнив тот же процесс.
Читать дальше: Как контролировать TCP, UDP связь в Windows с помощью PortExpert.
Номера портов
Все порты имеют свои номера, зарегистрированные в установленном порядке. Каждый из них предназначен для своей специфической цели. Так, при работе в интернете часто можно увидеть порт 8080. Для чего нужен такой функционал?
Согласно официальным данным, этот порт работает по протоколу TCP и предназначен для использования с HTTP. Неофициально он также используется контейнером сервлетов Tomcat, написанным на языке Java.
TCP-порт 8080 может использовать определенный протокол для связи, в зависимости от приложения. Протокол представляет собой набор формализованных правил, который объясняет, как данные передаются по сети. Это можно представить в качестве языка, который применяется между компьютерами, чтобы помочь им общаться более эффективно.
Протокол HTTP, который работает через 8080, определяет формат связи между интернет-браузерами и веб-сайтами. Другим примером является протокол IMAP, который определяет связь между почтовыми серверами IMAP и клиентами или, наконец, протокол SSL, в котором указывается формат, используемый для шифрованных сообщений.
Как это работает?
Если программа использует обмен данными через сеть, этот процесс может происходить следующим образом:
- У ОС запрашивается определенный номер порта. При этом система может как предоставить его программе, так и запретить передачу (это происходит в случаях, если этот номер порта уже используется другим приложением).
- У ОС запрашивается не конкретизированный номер порта, в любой свободный. Система сама выбирает его и предоставляет программе.
Как открыть порт (8080, 80 и так далее)? Внутри сети обмен информацией происходит согласно определенному протоколу (между двумя процессами). Чтобы соединение было установлено, требуется следующее:
- IP-адреса хостов получателя и отправителя (необходимы, чтобы между ними был построен маршрут);
- Номер протокола;
- Номера обоих портов (получателя и отправителя).
Если соединение происходит по протоколу TCP, то порт отправителя применяется как ОС получателя для передачи подтверждения о полученных данных, так и процессом получателем для передачи ответа.
Расширенная настройка прокси-сервера HTTP и TCP
Протокол HTTP работает поверх протокола TCP, но предоставляет дополнительную информацию о назначении сообщения. По этой причине два прокси настраиваются по-разному.
HTTP-трафик включает в себя целевой хост и порт для сообщения. Он отправляется по TCP-соединению с конечной точкой TCP, то есть между определенным хостом и портом. Как правило, HTTP-сообщение указывает на ту же конечную точку, что и TCP-соединение. Если вы изменяете конфигурацию клиента для использования прокси-сервера HTTP, соединение выполняется с другим хостом и портом, вместо указанного в URL-адресах HTTP. Это означает, что конечная точка TCP в сообщении отличается от той конечной, к которой она подключена.
Например, если HTTP-запрос отправлен на страницу http://192.0.2.1:8080/operation, запрос включает в себя «192.0.2.1:8080» в заголовке «Host» HTTP-сообщения, которое отправляется на 8080 порт на хосте 192.0.2.1.
Однако, если вы настроите HTTP-клиент на использование прокси-сервера, базовое TCP-соединение переходит к конечной точке TCP для него, в то время как сообщения все еще содержат исходную конечную точку.
Например, если вы настроите клиент на отправку своих сообщений на прокси-сервер по адресу 198281.100.1 порт 3128, а клиент отправит запрос для http://192.0.2.1:8080/operation, сообщение все еще содержит «192.0.2.1: 8080 »в заголовке« Host », а теперь также в поле« Request-Line ». Однако это сообщение теперь отправляется через TCP-соединение по адресу 198.51.100.1:3128. Таким образом, прокси-сервер HTTP может получать сообщения на одном порту (прокси-порт 8080) и может пересылать их нескольким различным службам на основе информации о получателе.
Проброс TCP порта в вашу домашнюю сеть
Вы получаете возможность «выставить» в Интернет один порт своего домашнего устройства, тем самым, сделав его доступным из любой точки мира, не имея при этом белого IP адреса.
Для этого:
- у вас должен быть установлен как минимум один VPN-туннель к нашей системе и настроена маршрутизация. См. здесь.
- установлено соответствие внутреннего IP адреса и его порта внешнему порту нашего адреса msk.vpnki.ru (84.201.157.2584.201.157.2584.201.157.2584). Процедура установления соответствия осуществляется на специальной странице нашей системы. Используйте доменное имя, так как IP адрес может измениться.
Как открыть порты на вашем роутере
Поскольку некоторые утилиты и игры работают только в том случае, если вы открываете определенный порт, вот шаги, которые необходимо выполнить, чтобы настроить переадресацию портов на вашем маршрутизаторе.
Самый первый шаг к открытию портов на маршрутизаторе – это присвоение устройству статического IP-адреса и запись вашего общедоступного IP-адреса.
Примечание. Статический или фиксированный IP-адрес – это IP-адрес, который настраивается вручную для определенного устройства вместо адреса, назначенного DHCP-сервером
Он известен как статический, потому что он не меняется по сравнению с динамическими адресами.
Определите, с каким IP-адресом работает ваше устройство.
Запустить Windows PowerShell.
Введите команду: и нажмите кнопку Enter.
Обратите внимание на следующее: IPv4-адрес, Маска подсети, Основной шлюз и DNS-серверы.
Используя вышеупомянутые данные, вы можете легко настроить статический IP-адрес.
На этом этапе запустите приложение «Выполнить» (Win + R), введите и нажмите кнопку Ввод, чтобы открыть «Сетевые подключения».
В следующем окне найдите и щелкните правой кнопкой мыши соединение, название которого совпадает с названием, отображаемым в PowerShell (например, Ethernet1)
Перейдите к его свойствам (через контекстное меню, вызываемое щелчком правой кнопки мыши), найдите и выделите IP версии 4 (TCP/IPv4) и нажмите кнопку Свойства.
Активируйте раздел «Использовать следующий IP-адрес».
На этом этапе вам нужно аккуратно вставить все детали, которые вы скопировали из окна PowerShell.
Нажмите кнопку ОК, чтобы сохранить изменения!
Весь процесс переадресации портов зависит от марки маршрутизатора, который вы используете. Но шаги включают определение IP-адреса вашего маршрутизатора.
Как узнать IP-адрес маршрутизатора?
В Windows:
Запустить командную строку или PowerShell.
Выполнить команду
Найдите запись Основной шлюз
Здесь вы можете найти IP-адрес вашего маршрутизатора.
На Mac:
Откройте Системные настройки.
Нажмите Сеть и перейдите в Расширенные.
Перейдите на вкладку TCP/IP и найдите Маршрутизатор. Здесь вы можете найти IP-адрес вашего маршрутизатора.
Перейдите к настройкам маршрутизатора.
Как только вы войдёте, просто найдите вкладку «Переадресация портов» и откройте нужный порт. Например: на странице «Переадресация портов» вам нужно ввести имя вашего устройства, а затем ввести порт, который необходимо переадресовать, в поле порта.
Теперь выберите вариант TCP/UDP или Оба в разделе «Протокол», если вы не уверены, какой протокол используете. На этом этапе введите внутренний IP-адрес устройства, на которое выполняется переадресация порта, и нажмите кнопку «Применить» или «Сохранить», чтобы применить изменения.
Надеюсь, вы легко сможете открыть порты на своём роутере. Если вы знаете какой-либо другой способ переадресации портов, пожалуйста, расскажите о нём в разделе комментариев ниже!
Полезные приложения для отображения статуса вашего порта
В то время как командная строка является хорошим быстрым и грязным инструментом, есть более усовершенствованные сторонние приложения, которые могут помочь вам получить представление о конфигурации вашего порта. Два выделенных здесь являются просто популярными примерами.
SolarWinds требует, чтобы вы указали свое имя и данные, чтобы загрузить его, но вам решать, вносите ли вы свою реальную информацию в форму или нет. Мы опробовали несколько бесплатных инструментов, прежде чем остановиться на SolarWinds, но это был единственный инструмент, который работал правильно в Windows 10 и имел простой интерфейс.
Он также был единственным, кто не вызвал ложный положительный вирусный флаг. Одна из больших проблем программного обеспечения для сканирования портов заключается в том, что компании по обеспечению безопасности склонны рассматривать их как вредоносные программы. Поэтому большинство пользователей игнорируют любые предупреждения о вирусах, которые приходят с такими инструментами. Это проблема, потому что вы не можете определить разницу между ложным срабатыванием и настоящим вирусом в этих приложениях.
SolarWinds может поставляться с некоторыми прикрепленными строками, но на самом деле он работает так, как рекламируется, и прост в использовании.
Как вы, вероятно, можете сказать, это скорее веб-сайт, чем приложение. Это хороший первый порт захода, чтобы посмотреть, могут ли внешние данные пройти через ваш локальный порт или нет. Он автоматически определяет ваш IP-адрес, и все, что вам нужно сделать, это указать, какой порт для тестирования.
Затем он сообщит вам, заблокирован ли порт или нет, и вам нужно будет выяснить, находится ли блокировка на компьютере, маршрутизаторе или на уровне поставщика услуг.
Предыстория и мотивация
Когда протокол TCP/IP появился впервые, он использовался лишь в небольшим числе протоколов приложений. В TCP/IP для разграничения приложений использовались номера портов: каждому протоколу приложения присваивался уникальный 16-разрядный номер порта. Например, для HTTP-трафика сегодня стандартным считается TCP-порт 80, для SMTP используется TCP-порт 25, а для FTP — TCP-порты 20 и 21. Другие приложения, использующие в качестве транспорта протокол TCP, могут выбирать другие доступные номера портов — по традиции либо в соответствии с формальными стандартами.
Использование для различения приложений номеров портов влекло за собой проблемы с безопасностью. Брандмауэры обычно настраиваются на блокирование TCP-трафика на всех портах, за исключением нескольких широко известных точек входа, поэтому развертывание приложения, использующего нестандартный порт, зачастую сопряжено с трудностями или вообще невозможно в связи с присутствием корпоративных и персональных брандмауэров. Приложения, которые способны обмениваться данными через стандартные, широко известные уже разрешенные порты, уменьшают внешнюю площадь атаки. Многие сетевые приложения используют протокол HTTP, поскольку большинство брандмауэров по умолчанию пропускают трафик на TCP-порту 80.
Модель HTTP.SYS, в которой трафик для множества различных HTTP-приложений мультиплексируется в один TCP-порт, стала стандартной на платформе Windows. Это обеспечивает общую контрольную точку для администраторов брандмауэров и в то же время позволяет разработчикам приложений минимизировать стоимость развертывания при построении новых приложений, работа которых предусматривает использование сети.
Возможность совместного использования портов несколькими HTTP-приложениями в течение долгого времени была характерна для служб Internet Information Services (IIS). Однако он был только с введением HTTP.SYS (прослушиватель протокола HTTP режима ядра) с IIS 6,0, что эта инфраструктура была полностью обобщенной. По сути HTTP.SYS позволяет произвольным пользовательским процессам совместно использовать TCP-порты, выделенные под HTTP-трафик. Эта возможность позволяет нескольким HTTP-приложениям сосуществовать на одном физическом компьютере в отдельных изолированных процессах и в то же время совместно использовать сетевую инфраструктуру, необходимую для отправки и получения трафика через TCP-порт 80. Служба совместного использования портов Net.TCP делает возможным такое же совместное использование портов для приложений net.tcp.
Некоторые порты могут использоваться для чего угодно, в то время как другие имеют давно установленные цели
Протокол управления передачей (TCP) использует набор каналов связи, называемых портами, для управления системным обменом сообщениями между несколькими различными приложениями, работающими на одном физическом устройстве. В отличие от физических портов на компьютерах, таких как USB-порты или Ethernet-порты, TCP-порты являются виртуально программируемыми записями, пронумерованными от 0 до 65535.
Большинство портов TCP являются каналами общего назначения, которые могут вызываться при необходимости, но в остальном бездействуют. Однако некоторые порты с меньшими номерами предназначены для определенных приложений. Хотя многие TCP-порты принадлежат приложениям, которые больше не существуют, некоторые из них очень популярны.
TCP порт 0
TCP фактически не использует порт 0 для сетевого взаимодействия, но этот порт хорошо известен сетевым программистам. Программы сокетов TCP используют порт 0 по соглашению, чтобы запросить доступный порт, который будет выбран и выделен операционной системой. Это избавляет программиста от необходимости выбирать («жесткий код») номер порта, который может не сработать в данной ситуации.
TCP-порты 20 и 21
FTP-серверы используют TCP-порт 21 для управления своей стороной сеансов FTP. Сервер прослушивает команды FTP, поступающие на этот порт, и отвечает соответствующим образом. В активном режиме FTP сервер дополнительно использует порт 20 для инициирования передачи данных обратно клиенту FTP.
TCP-порт 22
Secure Shell использует порт 22. Серверы SSH прослушивают на этом порту входящие запросы на вход от удаленных клиентов. Из-за характера такого использования порт 22 любого общедоступного сервера часто проверяется сетевыми хакерами и является предметом тщательного изучения в сообществе по сетевой безопасности. Некоторые защитники рекомендуют администраторам перенести установку SSH на другой порт, чтобы избежать этих атак, в то время как другие утверждают, что это лишь незначительный обходной путь.
TCP-порт 23
Порт 23 управляет telnet , текстовой системой для входа в удаленные системы. Хотя современные подходы к удаленному доступу основаны на Secure Shell на порте 22, порт 23 остается зарезервированным для более старого и менее безопасного приложения telnet.
TCP-порты 25, 110 и 143
На принимающей стороне порт 110 управляет протоколом почтовой связи версии 3, а порт 143 выделен для протокола доступа к почте через Интернет. POP3 и IMAP контролируют поток электронной почты с сервера вашего провайдера на ваш почтовый ящик.
Безопасные версии SMTP и IMAP различаются в зависимости от конфигурации, но порты 465 и 587 являются общими.
UDP порты 67 и 68
Серверы протокола динамической конфигурации хоста используют UDP-порт 67 для прослушивания запросов, в то время как клиенты DHCP обмениваются данными через UDP-порт 68.
TCP-порты 80 и 443
Возможно, самый известный порт в Интернете – TCP-порт 80 – это значение по умолчанию, которое веб-серверы HyperText Transfer Protocol прослушивают для запросов веб-браузера.
Порт 443 по умолчанию для безопасного HTTP.
UDP-порты 161 и 162
По умолчанию простой протокол управления сетью использует UDP-порт 161 для отправки и получения запросов в управляемой сети. Он использует UDP-порт 162 по умолчанию для получения прерываний SNMP от управляемых устройств.
TCP-порт 194
Несмотря на то, что такие инструменты, как приложения для обмена сообщениями на смартфонах, такие как Slack и Microsoft Teams, стали использовать Internet Relay Chat, IRC по-прежнему пользуется популярностью среди людей по всему миру. По умолчанию IRC использует порт 194.
Порты выше 1023
Номера портов TCP и UDP между 1024 и 49151 называются зарегистрированными портами . Управление по присвоению номеров в Интернете ведет список услуг, использующих эти порты, чтобы минимизировать конфликты при использовании.
В отличие от портов с меньшими номерами, разработчики новых служб TCP/UDP могут выбирать определенный номер для регистрации в IANA, а не назначать им номер. Использование зарегистрированных портов также позволяет избежать дополнительных ограничений безопасности, которые операционные системы накладывают на порты с меньшими номерами.
SPDY — 2009
Google пошёл дальше и стал экспериментировать с альтернативными протоколами, поставив цель сделать веб быстрее и улучшить уровень безопасности за счёт уменьшения времени задержек веб-страниц. В 2009 году они представили протокол SPDY.
Казалось, что если мы будем продолжать увеличивать пропускную способность сети, увеличится её производительность. Однако выяснилось, что с определенного момента рост пропускной способности перестаёт влиять на производительность. С другой стороны, если оперировать величиной задержки, то есть уменьшать время отклика, прирост производительности будет постоянным. В этом и заключалась основная идея SPDY.
SPDY включал в себя мультиплексирование, сжатие, приоритизацию, безопасность и т.д… Я не хочу погружаться в рассказ про SPDY, поскольку в следующем разделе мы разберём типичные свойства HTTP/2, а HTTP/2 многое перенял от SPDY.
SPDY не старался заменить собой HTTP. Он был переходным уровнем над HTTP, существовавшим на прикладном уровне, и изменял запрос перед его отправкой по проводам. Он начал становиться стандартом дефакто, и большинство браузеров стали его поддерживать.
В 2015 в Google решили, что не должно быть двух конкурирующих стандартов, и объединили SPDY с HTTP, дав начало HTTP/2.
Применение стороннего софта CurrPorts
В рассмотренных выше способах использовались лишь стандартные ресурсы Windows, однако, в Сети есть несколько программ для открытия портов на Windows. Первой на обзоре мы выбрали «CurrPorts» версии 2.51 от разработчика Nir Sofer. Она помогает узнать все свои активные порты на Windows и пригодится для их быстрого освобождения, удаляя ненужный или опасный процесс. Программа бесплатна и легка в освоении.
Для ее использования:
- Переходим на сайт разработчика https://www.nirsoft.net/utils/cports.html и скачиваем программу и русификатор на ПК. Русификатор распаковываем в папку с файлами ПО.
- Программа предлагает массу информации о процессе, включая занимаемый им порт.
На скриншоте мы видим, что антивирус Avast занимает два порта: 80 и 443. При желании мы можем закрыть данное соединение из контекстного меню или панели инструментов программы (но делать этого не советуем по понятным причинам). Закрывайте только те ненужные процессы, назначение которых вам известно.
Преимущества
- Бесплатная программа на русском языке.
- Не требует установки.
- Отображает все запущенные процессы и занимаемые ими порты в реальном времени.
- Предоставляет самую подробную информацию.
- Можно освобождать порты от одного или всех процессов.
- Классический понятный интерфейс.