Содержание:
Современный интернет – это не только совокупность объединённых гиперссылками веб-страниц. В рамки понятия «интернет» входит любая цифровая информация, используемая подчас совершенно разными устройствами. Торрент-клиенты, файлообменные сети, программные компоненты автоматического обновления, многочисленные мессенджеры и «умные» гаджеты – все они используют интернет-трафик, причём передаваться он может через один и тот же сервер. По идее, при обслуживании одним сервером десятков тысяч разных сервисов должна возникнуть настоящая путаница, но этого не происходит, потому что каждый клиент имеет в сети свой IP-адрес. Но и этого может оказаться недостаточно.
Что такое порты в Windows 7/10 и зачем они нужны
Для различения запросов и оптимизации соединения используются ещё протоколы и порты. О последних и пойдёт сегодня речь. Так что же такое порты, зачем они нужны, как узнать какие порты открыты на компьютере и почему они должны быть открыты или, напротив, закрыты?
Порт – это виртуальная единица, канал, номер соединения с удалённым клиентом или сервером, выделяемый той или иной программе. Непонятно? Попробуем объяснить доходчивей. Представьте себе огромное здание с 65 535 дверьми. Двери эти не простые, ведущие во внутренние комнаты, а волшебные, ведущие в другие такие же здания. Дом с множеством дверей – это ваш компьютер, а двери – это порты, через которые программы устанавливают соединение с другими компьютерами.
Когда приложение желает получить доступ в сеть, оно резервирует для себя порт с определённым номером, благодаря чему при обмене многочисленными данными не бывает путаницы. Когда программа завершает свою работу, порт освобождается, хотя для некоторых портов есть свои исключения. Например, порты 80 и 443 должны быть открыты постоянно, иначе некоторые программы не смогут соединиться с интернетом, если только в их алгоритмах не предусмотрена возможность альтернативного подключения. Другие порты желательно держать на замке, дабы избежать атак по сети и использования их вредоносными программами.
Как проверить открыт ли порт
С понятием «порта» более или менее разобрались, теперь давайте узнаем, как проверить, открыт ли порт на компьютере или нет. Способов проверки доступности или недоступности порта(ов) существует несколько. Самый простой и очевидный – воспользоваться онлайновыми сервисами PortScan.ru или 2ip.ru. Чтобы определить, открыт ли явно порт или нет, нужно ввести его номер в специальное поле и нажать кнопку «Проверить».
PortScan.ru и подобные ему сервисы также нередко предоставляют услуги сканера открытых портов на компьютере.
Посмотреть открытые порты в Windows 7/10 можно и с помощью обычной командной строки или консоли PowerShell, запущенной с правами администратора. Для этого выполняем в консоли команду следующего вида:
netstat -aon | more
При этом вы получите список активных подключений. В колонке «Локальный адрес» будут указаны IP и собственно номер открытого в данный момент порта. Обратите также внимание на состояние подключения. LISTENING означает, что порт просто прослушивается (ожидает соединения), ESTABLISHED – идет активный обмен данными между узлами сети, CLOSE_WAIT – ожидает закрытия соединения, TIME_WAIT указывает на превышение времени ответа.
В качестве альтернативы для определения используемых портов можно воспользоваться бесплатной утилитой CurrPorts от известного разработчика NirSoft.
Преимущества этой утилиты в том, что она в наглядном виде показывает не только используемые локальные и удалённые порты, но и связанные с ними процессы и сервисы, а также пути к их исполняемым файлам, их версию, описание и много другой полезной информации. Кроме того, с помощью CurrPorts можно закрывать выбранные соединения и завершать процессы на выбранных портах.
Как открыть порты на компьютере средствами Windows
Как определять открытые порты мы уже знаем, теперь давайте посмотрим как открыть порты на Windows 7/10. Как правило, для этих целей используется штатный брандмауэр Windows. Предположим, что у нас закрыт используемый почтовыми клиентами по протоколу SMTP порт 25, и нам нужно его открыть. Запустите штатный фаервол и нажмите слева ссылку «Дополнительные параметры».
В новом окне выберите Правила для входящих подключений – Создать правило.
Тип правила необходимо выбрать «Для порта», протокол оставляем по умолчанию, то есть TCP, а в поле «Определённые локальные порты» вбиваем номер нужного нам порта.
Если нужно открыть несколько портов, добавляем их через запятую. Жмём «Далее» и указываем действие, в данном случае «Разрешить подключение».
Снова жмём «Далее». Профили «Доменный», «Частный», «Публичный» оставляем включенными.
И, наконец, переходим к последнему этапу настройки – присвоению правилу имени. Имя может быть произвольным, главное, чтобы оно отражало суть правила.
Почему должны быть открыты порты 80 и 443
Среди множества портов существует такие, которые резервируются популярными программами по умолчанию. Например, порты 80 и 443 используются в основном браузерами (80 для обычного и 443 для защищённого шифрованного соединения). Если эти порты окажутся закрытыми, могут возникнуть определённые проблемы при подключении к игровым и облачным сервисам, проведении транзакций и тому подобное. Спешить открывать порты 80 и 443, если они в результате проверки оказались закрыты, однако, не стоит. Если проблем с подключением нет, лучше всё оставить так как есть.
Как узнать, какие порты использует конкретная программа
Как открыть порт на компьютере с Windows 7/10 вы уже знаете, теперь давайте посмотрим, как определить, какая программа или процесс использует тот или иной порт. Для поиска открытых портов на ПК мы уже предлагали воспользоваться утилитой CurrPorts. С её же помощью можно в два счёта определить задействованный любой запущенной на компьютере сетевой программой порт.
Допустим, мы хотим выяснить, какой порт занимает программа для скрытия IP-адреса FreeHideIP. Запускаем утилиту CurrPorts, в первой колонке находим процесс FreeHideIP и смотрим в колонке «Локальные порты» номер используемого ею порта.
Определить используемый программой порт можно и безо всяких сторонних инструментов, средствами самой Windows. Прибегнем к помощи уже знакомой утилиты netstat. Открываем от имени администратора командную строку или консоль PowerShell и выполняем такую команду;
netstat -aonb | more
На этот раз в список задействованных ключей мы добавили параметр b, отвечающий за отображение имени процесса. К примеру, на приложенном скриншоте видно, что один из процессов браузера Chrome с идентификатором 5732 использует в данный момент локальный порт 61233. В принципе, вы можете не использовать ключ b, но тогда вам понадобится Диспетчер задач.
Находим в Диспетчере процесс приложения, смотрим его идентификатор и сопоставляем его с данными колонки PID в командной строке. Только вот зачем делать лишние движения, если есть более короткий путь?
Спасибо за статью
Только вот правило создано для портов 80 и 443, но они всё равно закрытыми показываются((
Спасибо за статью, очень полезно ;)