Открыть порт windows 10 powershell

Обновлено: 07.07.2024

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

Что такое порты в Windows 7/10 и зачем они нужны

Для различения запросов и оптимизации соединения используются ещё протоколы и порты. О последних и пойдёт сегодня речь. Так что же такое порты, зачем они нужны, как узнать какие порты открыты на компьютере и почему они должны быть открыты или, напротив, закрыты?

Порт – это виртуальная единица, канал, номер соединения с удалённым клиентом или сервером, выделяемый той или иной программе. Непонятно? Попробуем объяснить доходчивей. Представьте себе огромное здание с 65 535 дверьми. Двери эти не простые, ведущие во внутренние комнаты, а волшебные, ведущие в другие такие же здания. Дом с множеством дверей – это ваш компьютер, а двери – это порты, через которые программы устанавливают соединение с другими компьютерами.

Когда приложение желает получить доступ в сеть, оно резервирует для себя порт с определённым номером, благодаря чему при обмене многочисленными данными не бывает путаницы. Когда программа завершает свою работу, порт освобождается, хотя для некоторых портов есть свои исключения. Например, порты 80 и 443 должны быть открыты постоянно, иначе некоторые программы не смогут соединиться с интернетом, если только в их алгоритмах не предусмотрена возможность альтернативного подключения. Другие порты желательно держать на замке, дабы избежать атак по сети и использования их вредоносными программами.

Как проверить открыт ли порт

Проверка порта с помощью сервиса PortScan.ru

Сканирование портов в PortScan.ru

Посмотреть открытые порты в Windows 7/10 можно и с помощью обычной командной строки или консоли PowerShell, запущенной с правами администратора. Для этого выполняем в консоли команду следующего вида:

netstat -aon | more

Просматриваем задействованные порты с помощью утилиты PowerShell

При этом вы получите список активных подключений. В колонке «Локальный адрес» будут указаны IP и собственно номер открытого в данный момент порта. Обратите также внимание на состояние подключения. LISTENING означает, что порт просто прослушивается (ожидает соединения), ESTABLISHED – идет активный обмен данными между узлами сети, CLOSE_WAIT – ожидает закрытия соединения, TIME_WAIT указывает на превышение времени ответа.

В качестве альтернативы для определения используемых портов можно воспользоваться бесплатной утилитой CurrPorts от известного разработчика NirSoft.

Просмотр портов в окне утилиты CurrPorts

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

Возможности утилиты CurrPorts

Как открыть порты на компьютере средствами Windows

Как определять открытые порты мы уже знаем, теперь давайте посмотрим как открыть порты на Windows 7/10. Как правило, для этих целей используется штатный брандмауэр Windows. Предположим, что у нас закрыт используемый почтовыми клиентами по протоколу SMTP порт 25, и нам нужно его открыть. Запустите штатный фаервол и нажмите слева ссылку «Дополнительные параметры».

Заходим в Дополнительные параметры

В новом окне выберите Правила для входящих подключений – Создать правило.

Создаем правило для открытия порта - шаг 1

Тип правила необходимо выбрать «Для порта», протокол оставляем по умолчанию, то есть TCP, а в поле «Определённые локальные порты» вбиваем номер нужного нам порта.

Создаем правило для открытия порта - шаг 2

Создаем правило для открытия порта - шаг 3

Если нужно открыть несколько портов, добавляем их через запятую. Жмём «Далее» и указываем действие, в данном случае «Разрешить подключение».

Создаем правило для открытия порта - шаг 4

Снова жмём «Далее». Профили «Доменный», «Частный», «Публичный» оставляем включенными.

Создаем правило для открытия порта - шаг 5

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

Создаем правило для открытия порта - шаг 6

Почему должны быть открыты порты 80 и 443

Среди множества портов существует такие, которые резервируются популярными программами по умолчанию. Например, порты 80 и 443 используются в основном браузерами (80 для обычного и 443 для защищённого шифрованного соединения). Если эти порты окажутся закрытыми, могут возникнуть определённые проблемы при подключении к игровым и облачным сервисам, проведении транзакций и тому подобное. Спешить открывать порты 80 и 443, если они в результате проверки оказались закрыты, однако, не стоит. Если проблем с подключением нет, лучше всё оставить так как есть.

Как узнать, какие порты использует конкретная программа

Как открыть порт на компьютере с Windows 7/10 вы уже знаете, теперь давайте посмотрим, как определить, какая программа или процесс использует тот или иной порт. Для поиска открытых портов на ПК мы уже предлагали воспользоваться утилитой CurrPorts. С её же помощью можно в два счёта определить задействованный любой запущенной на компьютере сетевой программой порт.

Допустим, мы хотим выяснить, какой порт занимает программа для скрытия IP-адреса FreeHideIP. Запускаем утилиту CurrPorts, в первой колонке находим процесс FreeHideIP и смотрим в колонке «Локальные порты» номер используемого ею порта.

Смотрим задействованные программами порты с помощью утилиты CurrPorts

Определить используемый программой порт можно и безо всяких сторонних инструментов, средствами самой Windows. Прибегнем к помощи уже знакомой утилиты netstat. Открываем от имени администратора командную строку или консоль PowerShell и выполняем такую команду;

netstat -aonb | more

Используем консоль PowerShell для выявления используемых программой портов

На этот раз в список задействованных ключей мы добавили параметр b, отвечающий за отображение имени процесса. К примеру, на приложенном скриншоте видно, что один из процессов браузера Chrome с идентификатором 5732 использует в данный момент локальный порт 61233. В принципе, вы можете не использовать ключ b, но тогда вам понадобится Диспетчер задач.

Сопоставляем ID приложений в Диспетчере задач

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

Откройте порт или создайте конечную точку для виртуальной машины (VM) в Azure создавая сетевой фильтр для подсети или сетевого интерфейса виртуальной машины. Эти фильтры, контролирующие входящий и исходящий трафик, добавляются в группу безопасности сети и присоединяются к ресурсу, который будет получать трафик.

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

Создав виртуальную машину, настроенную на обслуживание веб-запросов через стандартный TCP-порт 80, вы можете:

Создайте группу безопасности сети.

Создайте разрешающее трафик правило безопасности и присвойте значения следующим параметрам:

Диапазоны портов назначения. 80

Диапазоны исходных портов: * (разрешает любой порт источника)

Значение приоритета: введите значение меньше 65 500, но с более высоким приоритетом по сравнению с универсальным запрещающим правилом по умолчанию для входящего подключения.

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

Быстрые команды

Для создания группы безопасности сети и правил ACL потребуется последняя версия Azure PowerShell. Эти действия можно также выполнить с помощью портала Azure.

Войдите в свою учетную запись Azure.

В следующих примерах замените имена параметров собственными значениями. Примеры имен параметров: myResourceGroup, mystorageaccount и myVM.

Создайте правило с помощью командлета New-AzNetworkSecurityRuleConfig. В следующем примере создается правило с именем myNetworkSecurityGroupRule. Это правило разрешает TCP-трафик через порт 80:

Теперь давайте назначим подсети вашу группу безопасности сети. В следующем примере показано назначение виртуальной сети myVnet переменной $vnet с помощью Get-AzVirtualNetwork.

Свяжите группу безопасности сети с подсетью с помощью командлета Set-AzVirtualNetworkSubnetConfig. В следующем примере подсеть mySubnet связывается с группой безопасности сети:

Наконец, обновите виртуальную сеть с помощью командлета Set-AzVirtualNetwork, чтобы изменения вступили в силу.

Дополнительная информация о группах безопасности сети

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

Для веб-приложений с высокой доступностью необходимо поместить виртуальную машину за Azure Load Balancer. Балансировщик нагрузки распределяет трафик между виртуальными машинами с группой безопасности сети, обеспечивающей фильтрацию трафика. Подробные сведения см. в статье Балансировка нагрузки виртуальных машин Windows в Azure для создания высокодоступного приложения.

Дальнейшие действия

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

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

ОТКРЫТЬ ПОРТ ЧЕРЕЗ ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС

Рассмотрим один из редких случаев, это когда мы хотим развернуть общий доступ к файлам расположенных на сервере. В данном случае, просто открыть общий доступ недостаточно, нужно залезть в брандмауэр.

Используйте Win+R (или щелкните правой кнопкой мыши по меню Пуск, выберите «Выполнить») наберите firewall.cpl и перейдите в дополнительные параметры.

Вызов защитника Windows

Найти брандмауэр можно и через поиск меню пуск, если начать набирать «Брандмауэр». Нас интересует брандмауэр в режиме повышенной безопасности.

Поиск защитника WIndows

Общий доступ к файлам и папкам утилизирует протокол SMB, а он использует 445 порт. Тут не нужно создавать новое правило, а лучше включить стандартное. Так без лишней путаницы, чисто и быстро можно открыть любой порт.

Отсортируйте колонку по порту или группе, затем включите правило.

Правила входящих подключений защитника Windows

Вот так просто и чисто корпорация Майкрософт реализовала управление правилами в Windows с пользовательским интерфейсом.

ОТКРЫТЬ ПОРТ C ПОМОЩЬЮ POWERSHELL

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

Используйте Win+R (или щелкните правой кнопкой мыши по меню Пуск, выберите «Выполнить») наберите Powershell.

Вызов PowerShell

Найти можно и через поиск меню пуск, если начать набирать «Powershell». Запускать нужно от имени администратора. Рассматривать мы будем обычный Powershell, Powershell ISE нужен для выполнения скриптов, нас это не интересует.

Поиск PowerShell

Сперва нам нужно узнать какое правило мы хотим включить. Для этого выполним командлет:

Этим самым мы получаем имена всех входящих правил фаервола и получаем только их имена. Отличить их просто, первой идет группа правил, затем протокол и направление. По-русски это бы выглядело так:

Правила входящих подключений PowerShell

Мы получили результат. Нас интересует правило FPS-SMB-In-TCP. Эта аббривеатура расшифровывается как File and Printer Shading (SMB IN). Это то, что нам в данном случае нужно. Теперь включаем правило:

Set-NetFirewallRule -Name FPS-SMB-In-TCP -Enabled True

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

СОЗДАТЬ РАЗРЕШАЮЩЕЕ ПРАВИЛО ВРУЧНУЮ

Иногда программы не создают правила сами по себе, и требуется ручное вмешательство. Рассмотрим на примере открытия порта для сервера Майнкрафт. Справа от окна брандмауэра нажимаем “Создать новое правило”. Выбираем правило для порта.

Создание правила Защитник Windows

Майнкрафт использует протокол TCP, поэтому в меню выбираем его.

Выбор протокола при создании правила Защитник Windows

Осталось выбрать то, что мы этим правилом делаем, разрешаем или запрещаем взаимодействие с портом и дать ему имя. Ровно это же можно уложить в один командлет powershell’a.

New-NetFirewallRule -Name Minecraft -LocalPort 25565 -DisplayName Minecraft -Enabled True -Direction Inbound -Action Allow -Protocol TCP

Порты – специальные точки, позволяющие скачивать большой объем данных через интернет-подключение. Обычно открываются геймерами, которые качают много игровых данных. Также порты открываются для торрент-клиентов.

Обычно провайдеры не устанавливают каких-либо запретов, а в настройках роутера они открываются по умолчанию. Но нельзя забывать о встроенной «стене» Windows 10 – брандмауэре. В этой статье мы расскажем, как открыть порты в брандмауэре «десятки».

Первоначальная проверка

Сначала можно проверить, какие порты уже открыты. Для этого можно воспользоваться командной строкой. Запускаем ее. В данной операции лучше использовать стандартную строку cmd, а не PowerShell. Нажимаем комбинацию клавиш Win+R и прописываем команду cmd.

В строке прописываем команду netstat –aon | more. Нажимаем Enter – и перед нами появляется список всех активных портов Windows.


Значение Listening указывает на то, что порт «слушается». Состояние порта Established говорит о том, что коннект между двумя точками установлен. Также будут встречаться состояние Time Wait (превышено время ожидания) и Close Wait (ожидание закрытия подключения).

Создаем порты в брандмауэре

Самый быстрый способ открыть настройки брандмауэра: комбинация клавиш Win+R и команда firewall.cpl. В появившемся окне кликаем на «Дополнительные параметры».


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


Откроется мастер создания правила брандмауэра. Далее следуем инструкции.


  1. Далее выбираем тип порта (UPD или TCP) и ниже задаем его числовое значение. Мы не зря изначально проверили состояние всех портов. Впишите числовое значение того порта, который нужно открыть.


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


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


  1. Завершающий этап – вписываем имя правила и нажимаем «Готово».

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

Открытие портов через командную строку

Второй способ менее удобный для обычного пользователя, подходит скорее для системных админов. Но и о нем стоит знать. Нам понадобится командная строка, запущенная от имени администратора (здесь читайте, как это сделать разными способами). В данном случае уже можно воспользоваться строкой Windows 10 – PowerShell.

В открывшейся строке мы вводим команду:

netsh advfirewall firewall add rule name=<имя> protocol=<протокол> localport=<номер_порта> action=allow dir=IN.

Теперь подробнее разберем команду на примере открытия порта 21 TCP. Чтобы он открылся, команда должна выглядеть следующим образом:

netsh advfirewall firewall add rule name=port_21 protocol=TCP localport=21 action=allow dir=IN.


Итак, мы рассмотрели два способа открытия порта в брандмауэре Windows 10. Первый – через стандартные параметры брандмауэра и создание правила. Второй – через командную строку. Способ может и неудобный, но тоже достаточно простой.

Читайте также: