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

Содержание:

Как разблокировать порты Windows 10 в брандмауэре

(На примере открытия порта через брандмауэр для популярной игры Minecraft). Для разрешения доступа к порту необходимо создать правила для исходящего и входящего соединения. 

  1. Открыть «Панель управления»:
  2. Перейти в раздел «Система и безопасность»:
  3. Открыть пункт «Брандмауэр Защитника Windows»:
  4. Перейти в «Дополнительные параметры»:
  5. Перейти к созданию входящего и исходящего подключения — двух правил. Кликнуть на «Правила для входящих подключений» и выбрать «Создать правило»:
  6. Можно открыть отдельно порт для программы (1) или же открыть доступ компьютеру к нему полностью (2). Затем «Далее»:
  7. Minecraft по умолчанию использует порт 25565 и два протокола. Создать по 2 правила протокола (1). Не выбирать «Все локальные порты» (2). В строку (3) вписать 25565. Нажать «Далее»:
  8. Отметить пункт «Разрешить подключение» и снова кликнуть «Далее»:
  9. Настроить доступ профилей. «Далее»:
  10. Ввести имя правила и его описание. Для создания нажать кнопку «Готово». Такие же действия проделать с протоколом UDP:
  11. В главном окне выбрать пункт «Правила для исходящего подключения» и нажать «Создать правило». Проделайте операцию, описанную выше. В завершении настройки должно получиться 4 правила для порта 25565 (2 — на входящее подключение, 2 — на исходящее):

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

Если вам нужно настроить прокси-сервер для отдельных программ или браузеров, используйте Proxy Switcher.

Почему важно знать, какие порты открыты на компьютере?

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

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

Ещё один пример, когда нужно определить, какая именно служба прослушивает порт: вы пытаетесь установить сетевую службу (веб-сервер Apache или СУБД MySQL), а они не запускаются, так как какая-то другая служба уже заняла их порт, который они используют по умолчанию. В этом случае нужно найти эту службу и отключить её или настроить на работу с другим портом.

Но, как и во многих IT задачах (да и вообще во многих профессиональных сферах), получить данные это только самое начало. Главное — это правильно их истолковать и понять.

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

F.A.Q.

Что за порты? Для чего они нужны?

Порты, которые проверяет PortScan.ru — это не физические, а логические порты на компьютере или сетевом устройстве.В случае, если программа или служба планирует работать с сетью, она открывает порт с уникальным номером, через который она может работать с удаленными клиентами/серверами. Фактически, сетевая программа резервирует для себя определенное число, которое позволяет понять, что пришедшие данные предназначаются именно этой программе.

На человеческом языке это звучало бы примерно так: «Я, программа-сервер, открываю порт номер 1234. Если по сетевому кабелю придут данные с номером порта 1234 — это мне. «

Какие номера портов может открывать программа?

Порты идентифицируются номерами от 0 до 65535 включительно. Любой другой порт открыть нельзя, соответственно и проверить тоже. Это ограничения TCP/IP протокола.

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

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

Для каких ситуаций возможна проверка открытых портов?

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

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

   

Что такое проброс портов?

Проброс портов (Port Forwarding, иногда Virtual Servers) — специальная настройка на роутере, позволяющая перенаправить внешние запросы (из интернета) на компьютеры локальной сети. По сути это способ указать, на какой локальный компьютер пересылать данные и запросы подключения, пришедшие на определенный порт.

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

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

Как узнать, какие порты открыты на компьютере?

Для Windows: Пуск → «cmd» → Запустить от имени администратора → netstat -bnДля Linux: В терминале выполнить команду: «ss -tln»

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

Прежде всего надо устранить причину — запущенную программу или службу, которая открыла этот порт; ее надо закрыть/остановить. Если причина открытого порта не ясна — проверьте компьютер антивирусом, удалите лишние правила проброса портов на роутере и установите продвинутый файервол (Firewall).

Ключи

Подключение через роутер.

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

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

Проверка статуса портов

Перед открытием туннеля сначала нужно проверить открытые порты в Windows. Для этого отлично подойдет обычная командная строка.

  1. Открываем меню «Пуск/Программы/Стандартные» и выбираем программу «Командная строка».

Другой способ – введите cmd» (без кавычек) в поисковую строку Пуска и нажмите Enter».

  1. В открывшейся командной строке задаем команду «netstat –aon | more» без кавычек. Система отобразит состояние всех активных туннелей.

Смотрим на два последних столбца и находим нужный номер. Напротив номера выведен его статус:

  • Listening – идет опрос свободного порта системой. Он является открытым.
  • Established – идет передача данных, порт занят.
  • Close wait – процесс прекращения передачи данных.
  • Time wait – порт не отвечает.
  1. Открыв «Диспетчер задач» комбинацией клавиш Ctrl+Alt+Delete, вы сможете узнать, чем занят нужный порт, сопоставив его номер из консоли с идентификатором процесса.

Если требуемый порт отсутствует или занят – переходим к следующему пункту.

Пример анализа открытых портов

Я начну с анализа открытых портов на Linux. Просто потому, что мне так проще, а затем мы постепенно перейдём изучить открытые порты на Windows.

Пример информации об открытых портах, полученных командой:

sudo ss -lntup

Пример прослушиваемых портов на Linux:

Netid State   Recv-Q   Send-Q         Local Address:Port     Peer Address:Port                                                                                  
udp   UNCONN  0        0           10.0.2.15%enp0s3:68            0.0.0.0:*      users:(("NetworkManager",pid=318,fd=17))                                       
udp   UNCONN  0        0                  127.0.0.1:5300          0.0.0.0:*      users:(("tor",pid=359,fd=7))                                                   
tcp   LISTEN  0        128                127.0.0.1:9040          0.0.0.0:*      users:(("tor",pid=359,fd=8))                                                   
tcp   LISTEN  0        128                127.0.0.1:8118          0.0.0.0:*      users:(("privoxy",pid=362,fd=3))                                               
tcp   LISTEN  0        128                127.0.0.1:9050          0.0.0.0:*      users:(("tor",pid=359,fd=6))                                                   
tcp   LISTEN  0        128                127.0.0.1:9475          0.0.0.0:*      users:(("httpd",pid=553,fd=5),("httpd",pid=552,fd=5),("httpd",pid=551,fd=5),("httpd",pid=550,fd=5),("httpd",pid=549,fd=5),("httpd",pid=360,fd=5))
tcp   LISTEN  0        128                        *:80                  *:*      users:(("httpd",pid=553,fd=4),("httpd",pid=552,fd=4),("httpd",pid=551,fd=4),("httpd",pid=550,fd=4),("httpd",pid=549,fd=4),("httpd",pid=360,fd=4))
tcp   LISTEN  0        128                        *:22                  *:*      users:(("systemd",pid=1,fd=55))                                                
tcp   LISTEN  0        128                        *:443                 *:*      users:(("httpd",pid=553,fd=7),("httpd",pid=552,fd=7),("httpd",pid=551,fd=7),("httpd",pid=550,fd=7),("httpd",pid=549,fd=7),("httpd",pid=360,fd=7))
tcp   LISTEN  0        80                         *:3306                *:*      users:(("mysqld",pid=427,fd=21))            

В выводимых данных имеются следующие поля:

  • Netid — протокол udp или tcp
  • State — состояние, для протоколов TCP здесь будет LISTEN (поскольку мы явно указали в опциях показать только прослушиваемые порты), а для протоколов UDP здесь будет UNCONN, то есть состояние неизвестно, но, на самом деле, это тоже прослушиваемые порты, которые позволяют подключаться из вне
  • Recv-Q — получено
  • Send-Q — отправлено
  • Local Address:Port — локальный адрес и порт, к которому привязана служба, то есть IP адрес и порт, которые прослушиваются
  • Peer Address:Port — удалённый адрес и порт, к которым выполнено соединение.

Допустим запись 127.0.0.1:9050 для локального адреса и порта означает, что прослушивается порт 9050. Причём он прослушивается только для IP адреса 127.0.0.1. Адрес 127.0.0.1 относится к так называемым Loopback, то есть это замыкающийся на себя, закольцованный адрес. Сетевой интерфейс с этим адресом называется петлевым. Пакеты, которые отправляются с компьютера на этот адрес, приходят на этот же самый компьютер (точнее говоря, они никуда даже не уходят). Доступ к этому адресу может иметь только служба, работающая на этом же самом компьютере

Отсюда важное следствие: хотя порт 9050 прослушивается, никто другой не может к нему подключиться из любой сети. Это же относится и к адресам из диапазона ::1/128 — это такие же адреса, но уже для IPv6, тамошний аналог 127.0.0.1 это ::1 (тоже часто можно видеть в выводимой информации).

Если прослушиваются какие-либо адреса из локальных

  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16
  • 127.0.0.0/8

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

Проверка открытых портов на локальном компьютере

Способ 1. Для того, чтобы проверить открытые порты на локальном (своем) компьютере, можно воспользоваться «Командной строкой» операционной системы Windows (полный Список команд Windows ( Windows CMD ) тут).

   

Для вызова этой строки необходимо нажать сочетание клавиш Win+R и прописать команду «cmd», после чего нажать «ОК».

В открывшемся окне пропишите специальную команду

netstat -a

и ознакомьтесь со списком открытых портов на Вашем компьютере.

Способ 2. Если Вы подключены к интернету, то проверить, открыт ли порт, можно на сайте

whatsmyip.org/port-scanner/ 

Данный ресурс сам определит Ваш IP-адрес, а сканировать порты можно через специальное поле «Custom Port Test».

Введите интересующий Вас порт и нажмите кнопку «Check Port», после чего Вы получите ответ, открыт или закрыт данный порт.

Как открыть порты на компьютере с Windows 7/10

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

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

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

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

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

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

С понятием «порта» более или менее разобрались, теперь давайте узнаем, как проверить, открыт ли порт на компьютере или нет. Способов проверки доступности или недоступности порта(ов) существует несколько. Самый простой и очевидный – воспользоваться онлайновыми сервисами PortScan.ru или 2ip.ru. Чтобы определить, открыт ли явно порт или нет, нужно ввести его номер в специальное поле и нажать кнопку «Проверить».

PortScan.ru и подобные ему сервисы также нередко предоставляют услуги сканера отк

Как открыть порт в брандмауэре Windows.

Вам откроется раздел настройки Брандмауэра в режиме повышенной безопасности. В поле слева кликаем на раздел «Правила для входящих соединений»:

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

Выбираем тип правила — «Для порта». Нажимаем кнопку Далее.

Теперь нужно выбрать тип протокола и указать порт. «Тип протокола» для игр, как правило, «Протокол TCP». В некоторых случаях, например для файлообменных программ или игр, нужно ещё открыть и порт UDP. Поэтому, если нужно открыть и TCP-порт и UDP-порт в Windows — Вам придется создавать два правила. В поле Определенные порты нужно указать номер нужного порта. Например, для Minecraft нужно открывать порт 25565 и TCP и UDP. Нажимаем кнопку Далее.

Ставим галку «Разрешить подключение». Нажимаем кнопку Далее.

Здесь ничего не меняем. Нажимаем кнопку Далее.

В поле Имя прописываем название для создаваемого правила — например DC++ или Minecraft . Нажимаем кнопку Готово.

Правило создано и порт в брандмауэре Windows 7 и Windows 8 открыт. Проверить доступность порта из-вне можно с помощью программы PFPortChecker.

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

Только теперь не для порта — а «Для программы». Нажимаем кнопку Далее.

Выбираем пункт «Путь программы» и нажимаем кнопку Обзор. В открывшемся окне нужно выбрать программы, к которой нужен доступ из внешней сети — например, UTorrent, DC++ или Minecraft. Нажимаем кнопку Далее.

Ставим галочку «Разрешить подключение». Нажимаем кнопку Далее.

В этом окне ничего не меняя, нажимаем кнопку Далее.

В поле имя вводим название правила — например, dc++, utorrnet или minecraft и нажимаем кнопку Готово.

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

Как открыть порт на компьютере

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

Проброс портов в Windows

В операционных системах семейства Windows 10 по умолчанию включен брандмауэр, который блокирует все посторонние подключения к компьютеру. Поэтому, чтобы клиенты из Интернета могли подключиться к Вашему серверу, надо прописать правила для его порта в настройках фаервола. Чтобы это сделать, нажмите комбинацию клавиш Win+R и введите в строчку открыть команду firewall.cpl.

Нажмите кнопку ОК. После этого откроется окно «Брандмауэр Защитника Windows».

В этом окне справа меню, в котором надо найти и кликнуть ссылку «Дополнительные параметры». Появится ещё одно окно:

Создаём правило, выбрав вариант Для порта. Переходим «Далее».

Теперь выбираем протокол – TCP или UDP, а так же порт, открыть который необходимо. Кликаем на «Далее».

Теперь надо поставить галочку «Разрешить подключение». Нажимаем на «Далее».

На этом этапе оставляем галочки на всех профилях. Кликаем на «Далее».

Последний шаг – это дать название правилу и нажать на кнопку «Готово». Ну вот и всё, правило создано и будет в общем списке правил.

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

Ещё одно популярное сегодня семейство операционных систем – это Linux. Среди них такие популярные ОС, как Ubuntu, Gentoo, Fedora, Debian. Обычно пакетный фильтр или брандмауэр уже включен по умолчанию и как правило это iptables. Пользоваться им достаточно просто. Сначала смотрим список имеющихся правил командой:

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

Например, чтобы открыть TCP порт 3128 для прокси правило будет выглядеть так:

После того, как Вы нажмёте клавишу «Enter», правило будет добавлено в список и применено. Отредактировать список правил обычно можно в файле /etc/iptables.

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

В Windows есть команда netstat, которая отображает статистику протокола и текущих сетевых подключений TCP/IP.

Использование команды:

NETSTAT           
        

Опции netstat:

  -a            Отображение всех подключений и портов прослушивания.
  -b            Отображение исполняемого файла, участвующего в создании
                каждого подключения или порта прослушивания. Иногда известные
                исполняемые файлы содержат множество независимых
                компонентов. Тогда отображается последовательность компонентов,
                участвующих в создании подключения или порта прослушивания. В
                этом случае имя исполняемого файла находится снизу в скобках
                [], сверху находится вызванный им компонент, и так до тех
                пор, пока не достигнут TCP/IP. Заметьте, что такой подход
                может занять много времени и требует достаточных разрешений.
  -e            Отображение статистики Ethernet. Может применяться вместе
                с параметром -s.
  -f            Отображение полного имени домена (FQDN) для внешних адресов.
  -n            Отображение адресов и номеров портов в числовом формате.
  -o            Отображение ИД процесса каждого подключения.
  -p протокол   Отображение подключений для протокола, задаваемых этим
                параметром. Допустимые значения: TCP, UDP, TCPv6 или UDPv6.
                Если используется вместе с параметром -s для отображения
                статистики по протоколам, допустимы следующие значения:
                IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP или UDPv6.
  -q            Отображение всех подключений, портов прослушивания и ограниченных
                непрослушивающих TCP-портов. Ограниченные непрослушивающие порты могут быть или не быть
                связанными с активными подключениями
  -r            Отображение содержимого таблицы маршрутов.
  -s            Отображение статистики по протоколам.  По умолчанию статистика
                отображается для протоколов IP, IPv6, ICMP, ICMPv6, TCP, TCPv6,
                UDP и UDPv6. Параметр -p позволяет указать подмножество
                выводимых данных.
  -t            Отображение состояния разгрузки для текущего подключения.
  -x            Отображение подключений, прослушивателей и общих конечных точек
                NetworkDirect.
  -y            Отображение шаблона подключений TCP для всех подключений.
                Не может использоваться вместе с другими параметрами.
  interval      Повторное отображение выбранной статистики с паузой
                между отображениями, заданной интервалом
                в секундах.  Чтобы прекратить повторное отображение
                статистики, нажмите клавиши CTRL+C.
                Если этот параметр опущен, netstat напечатает текущую
                информацию о конфигурации один раз.

Используя команду со следующими ключами, можно посмотреть информацию о всех подключениях и прослушиваемых портах в Windows:

netstat -an

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

Как открыть порты на Windows 7, 8, 8.1, знают далеко не все, зато слышали о них, наверное, многие пользователи ПК . Однако для некоторых онлайн-игр или программ, требующих доступа к интернету, открытие дополнительных подключений становится необходимым. Иногда требуется открыть или проверить уже открытые порты.

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

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

Способы открытия

Самый простой общий способ

Самый доступный метод довольно прост. Ниже изложен алгоритм действий, которые требуется выполнить:

В «Панели управления» находим пункт «Система и безопасность», затем открываем «Брандмауэр Windows».

Открываем Брандмауэр Windows

Выбираем «Правила для входящих подключений»

  • Далее необходимо создать правило, нажимаем на соответствующий значок.
  • Тип правила «Для порта», жмём кнопку «Далее», ставим маркер на «Протокол TCP» и вводим номер (необходимо его точно проверить). Снова жмём «Далее».

Ставим маркер на «Протокол TCP»

Оставляем все галочки — они определяют, к каким профилям будет относиться правило.

Оставляем все галочки

После нужно будет придумать имя и, если вам это требуется, описание. Нажимаем «Готово».

Указание имени

Всё — у вас появилось новое правило, теперь компьютер сможет подключиться к нужному серверу.

Подключение для программы

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

  1. По предыдущему алгоритму доходим до того места, где нужно выбрать тип правила, выбираем тип правила «Для программы»
  2. Ставим маркер на «Путь программы», выбираем при помощи кнопки «Обзор» либо вбиваем вручную адрес программы.
  3. Нажимаем «Далее», ставим «Разрешить подключение».
  4. Затем повторяем всё то же самое, что делали при предыдущем способе.

В итоге для этой программы будет разрешено соединение с сетью.

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

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

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

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

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

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

Для поиска службы, можно добавить к приведённой команде опцию -b, которая означает показать исполнимый файл, прослушивающий порт:

netstat -anb

Также имеется альтернативный способ определения исполнимого файла, привязанного к порту. Для него откройте Командную строку Windows. Для этого нажмите сочетание клавиш Win+x, там выберите Windows PowerShell (Администратор). В открывшемся окне введите:

cmd

чтобы перейти в обычную командную строку.

Там запустите команду вида:

for /f "tokens=1,2,3,4,5*" %i in ('netstat -aon ^| findstr ":80" ^| findstr /i listening') do echo %j %l & @tasklist | findstr %m

Эта команда найдёт службы, которые прослушивают 80 порт. Чтобы найти информацию о другом порте, замените в команде цифру 80 на интересующий вас порт.

Пример вывода в моём случае:

C:\Windows\system32>echo 0.0.0.0:80 LISTENING   &
0.0.0.0:80 LISTENING
httpd.exe                     3576 Services                   0    16 764 КБ

C:\Windows\system32>echo :80 LISTENING   &
:80 LISTENING
httpd.exe                     3576 Services                   0    16 764 КБ

Запись 0.0.0.0:80 означает, порт 80 для любых IPv4 адресов прослушивает служба httpd.exe (веб-сервер Apache). А запись :80 — означает, что порт 80 для любых IPv6 адресов прослушивает та же самая служба httpd.exe (веб-сервер Apache). Мы ещё вернёмся к более подробному анализу данных далее в этой статье.

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

@ECHO OFF
for /f "tokens=1,2,3,4,5*" %%i in ('netstat -aon ^| findstr ":%1" ^| findstr /i listening') do echo %%j %%l & @tasklist | findstr %%m

Сохраните и закройте этот файл.

Теперь в Windows PowerShell или в командной строке Windows с помощью команды cd перейдите в папку, куда вы сохранили файл. Например, я его сохранил в папку C:\Users\Alex\Documents\, тогда для перехода туда я выполняю:

cd C:\Users\Alex\Documents\

Теперь запустите файл командой вида:

.\port.bat 

Где замените на интересующий вас порт, например, меня интересует порт 80, тогда:

.\port.bat 80

Вновь получаю аналогичный результат.

Если у вас множество портов прослушивает процесс svchost.exe, то чтобы разобраться, какие именно это службы, смотрите статью «Почему svchost.exe прослушивает много портов? Как узнать, какие именно программы открыли порты».

Что означает 0.0.0.0 в netstat. Различные виды нотаций в netstat и ss

0.0.0.0 — это самый первый IP адрес. Но он относится к IP специального назначения (как например 127.0.0.1) и выполняет разные функции.

Обозначение 0.0.0.0 может иметь разное значение в зависимости от того, где используется. Когда говорят о прослушиваемых портах, это обозначение в Linux символизирует заполнитель, то есть означает «любой IP адрес».

Чем это отличается от * (звёздочки) или от записи :::, которые также встречаются в выводе рассматриваемых программ? В программе ss IPv6 адрес 0:0:0:0:0:0:0:0 (который является аналогом IPv4 адреса 0.0.0.0) обозначается звёздочкой (*). Следовательно, в ss запись 0.0.0.0:* обозначает «любой IPv4 адрес с любого порта». А обозначение *:* символизирует «любой IPv6 адрес с любого порта».

В программе netstat также используется запись 0.0.0.0:* которая также обозначает «любой IPv4 адрес с любого порта».

Но в netstat для обозначения «любой IPv6 адрес с любого порта» используется :::*.

Помните об этих различиях, чтобы не запутаться. А также помните о том, что если показано, что прослушивается протокол tcp6 (IPv6), то одновременно может прослушиваться порт и на tcp (IPv4) — при этом данные в выводимой информации отсутствуют!

В Windows в качестве Локального адреса, когда прослушивается любой IP адрес на определённом порту, используется запись вида 0.0.0.0:80 (в этом примере прослушивается любой IP адрес, доступный в системе, на 80 порту). Для IPv6 адресов в этом случае используется запись вида :80.

В качестве внешнего адреса, когда доступно подключения с любого IP и с любого порта, для TCP протокола пишется 0.0.0.0:0, а для UDP протокола в этих же условиях пишется *:*. Что тоже не особо логично и сбивает с толку. Точнее говоря, объяснение есть и оно вытекает из разницы протоколов TCP и UDP. Но это объяснение скорее философское и в практическом плане ничего не даёт.

Если информация относится к IPv6, то для TCP когда имеется ввиду любой адрес на любом порту, используется запись вида :0. А для UDP используются одинаковые нотации как для IP, так и для IPv6, то есть *:*

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

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

Определённый локальный IPv4 адрес на определённом порту

Любой локальный IPv4 адрес на определённом порту

Определённый локальный IPv6 адрес на определённом порту

Любой локальный IPv6 адрес на определённом порту

Любой внешний IPv4 адрес на любом порту

Любой внешний IPv6 адрес на любом порту

Netstat (Windows)

127.0.0.1:9050

0.0.0.0:80

:80

:443

Для TCP: 0.0.0.0:0

Для UDP: *:*

Для TCP: :0

Для UDP: *:*

Netstat (Linux)

2a02:f680:1:1100::3d:80

:::443

0.0.0.0:*

:::*

ss (Linux)

:80

*:443

0.0.0.0:*

*:*

ИЛИ

:*

Второй способ

Выражаясь фигурально, не всегда следует «лезть в гору», чтобы добиться желаемого пункта назначения. Иногда нужно проявить смекалку и «гору» тактично обойти. Ответ, как узнать адрес прокси, можно получить самым простым способом. Все что нужно — обратиться к системному администратору, который обслуживает локальную сеть. У него хватит компетенции посмотреть прокси и передать его вам. Сложность в том, что не все могут узнать, как связаться с системным администратором. Для решения данной проблемы, рекомендуем обратиться к более знающим людям. Они подскажут, куда звонить, чтоб связаться с администратором.

Настройка проброса портов на маршрутизаторе ZyXEL

Хоть внешне меню настроек разных линеек маршрутизаторов и отличаются, но принцип настройки везде схож – необходимо найти пункт меню с названием наподобие «Сеть», «Network», или что-то схожее. Например, настроим работу роутера NBG460N с торрентом. Для проброса порта входим в пункт «Network», далее подменю «NAT».

Настройка проброса портов маршрутизатора ZyXEL

Во вкладке «Application» ставим галочку в поле «Active», тем самым включив функцию переброса. Далее в полях задаем правило – в поле «Service Name» задаем имя исключению (например, Torrent, чтобы потом в будущем самим же не запутаться), в поле «External port» и «Internal Port» вводим номер порта, на котором работает наша программа на компьютере. В поле «Server IP Address» вводим сетевой IP-адрес того же компьютера. Жмем «Apply».

Добавление правила проброса порта для торрента

Снизу окна появится данное правило.

Заключение

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector