В этой пошаговой статье описывается, как определить, какая программа использует или блокирует определенные порты TCP.
Версию этой статьи для Microsoft Windows XP см. в разделе 281336.
Применяется к: Windows Server 2003
Исходный номер базы знаний: 323352
Аннотация
Служебная программаNetstat.exe имеет новый переключатель, -o коммутатор, который может отображать идентификатор процесса (ID), связанный с каждым подключением. Эти сведения можно использовать для определения того, какой процесс (программа) прослушивает определенный порт. Например, netstat -ano команда может получить следующие выходные данные:
Proto Local Address Foreign Address State PID TCP 0.0.0.0:80 0.0.0.0:0 Listening 888
При использовании диспетчера задач можно сопоставить идентификатор процесса, указанный в списке, с именем процесса (программа). С помощью этой функции можно найти конкретный порт, используемый программой в настоящее время. Так как программа уже использует этот конкретный порт, другой программе запрещено использовать этот же порт.
Установка и настройка виртуальных COM портов
Сопоставление идентификатора процесса с программой
Чтобы сопоставить идентификатор процесса с программой, выполните следующие действия:
- Нажмите клавиши CTRL + SHIFT + ESC , чтобы открыть диспетчер задач.
- Перейдите на вкладку Процессы .
- Если у вас нет столбца PID, выберите Вид>Выбрать столбцы, а затем установите флажок PID (идентификатор процесса).
- Выберите заголовок столбца с меткой PID, чтобы отсортировать процесс по ИДЕНТИФИКАТОРАм. Вы сможете легко найти идентификатор процесса и сопоставить его с программой, которая указана в диспетчере задач.
Получение дополнительных сведений о служебной программе Netstat.exe
Чтобы получить дополнительные сведения о служебной программеNetstat.exe , выполните следующие действия.
- Щелкните последовательно Пуск>Выполнить.
- В поле Открыть введите cmd и нажмите кнопку ОК.
- В командной строке введите netstat /? .
Обратная связь
Были ли сведения на этой странице полезными?
Источник: learn.microsoft.com
Просмотр открытых портов в Windows 10

netstat — стандартная утилита, входящая в состав операционной системы Windows 10. Она применяется для отображения сетевой информации, в том числе и позволяет посмотреть список открытых портов. Благодаря этому можно узнать состояние, тип порта, локальный и внешний адрес. Этот вариант приоритетный, поскольку не требует перехода на разные сайты и скачивания дополнительного программного обеспечения, а о принципах взаимодействия с этой командой читайте в статье по ссылке ниже. Там также описаны и доступные аргументы, которые рекомендуется использовать, чтобы показать только интересующие сведения.
Ставим драйвер com порта в Windows

Способ 2: Брандмауэр Windows
Порты нужны определенным программам и службам для входящих подключений, поэтому они обязательно отслеживаются стандартным межсетевым экраном. Любое разрешение на открытие порта сохраняется в соответствующем списке, который можно использовать для выполнения поставленной задачи, что происходит так:

-
Откройте «Пуск» и перейдите оттуда в меню брандмауэра.





Некоторые программы и службы могут использовать все предлагаемые порты, поэтому в этом меню вы не найдете конкретной привязки к протоколу. Тогда придется обращаться за помощью к одному из следующих методов.
Способ 3: Онлайн-сервисы
Онлайн-сервисы — очень популярный вариант определения открытых портов, поскольку многие пользователи не желают задействовать консоль, чтобы получить какую-либо информацию. На просторах интернета находится огромное количество подходящих сайтов, которые бесплатно выводят список прослушиваемых портов, а о трех самых популярных из них мы предлагаем прочесть далее.

Способ 4: TCPView
TCPView — небольшое программное обеспечение с графическим интерфейсом, которое было перекуплено компанией Microsoft и сейчас находится в свободном доступе на официальном сайте компании. По сути, это аналог рассмотренной выше команды, однако сведения показываются в более понятном виде, а наличие графического интерфейса является огромным плюсом TCPView.
- Перейдите по ссылке выше и скачайте TCPView с официального сайта.

- Устанавливать программу не нужно, поэтому ее сразу же можно запустить из полученного архива.

- В меню TCPView просмотрите список активных процессов, а затем обратите внимание на перечень локальных портов. Это поможет узнать, какие программы в Windows 10 используют порты, а значит, они являются открытыми.

- Переместитесь вправо по таблице, чтобы посмотреть, в каком состоянии находится порт. Например, он может прослушиваться, находиться в ожидании или вовсе не использоваться.

Способ 5: PortQry
PortQry — дополнительная консольная утилита от компании Microsoft, которая позволяет просмотреть открытые порты. Мы рекомендуем пользоваться ее в том случае, если команда netstat и другие варианты вам не подходят, но нужно путем ввода всего одной команды просмотреть список абсолютно всех открытых портов.
- Загрузка PortQry осуществляется с официального сайта компании Microsoft.

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

- Откройте «Командную строку» от имени администратора, например, через меню «Пуск».

- Перейдите там по пути установки PortQry, чтобы оказаться в ее корне. Осуществляется это путем ввода команды cd + полный путь к директории .

- Остается только ввести команду portqry.exe –local и активировать ее нажатием на Enter для просмотра списка открытых локальных портов.

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

Способ 6: Веб-интерфейс маршрутизатора
Последний метод просмотра открытых портов в Windows 10 — переход к отдельному меню в интернет-центре роутера. Однако там можно увидеть только те порты, которые были вручную или по умолчанию открыты именно через настройки маршрутизатора, а осуществляется это на примере устройства от TP-Link так:
- Выполните авторизацию в веб-интерфейсе маршрутизатора, следуя инструкциям из следующей статьи. Подробнее: Вход в веб-интерфейс роутеров
- В меню перейдите к разделу «Forwarding».

- Там вас интересует категория «Port Triggering».

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

Если нужно открыть конкретный порт, который по каким-то причинам оказался закрыт, потребуется выполнить определенный алгоритм действий. Проще всего справиться с этой задачей, придерживаясь руководств по ссылкам далее.
Источник: lumpics.ru
Как узнать, какая программа использует порт в Windows.
Компьютерные порты по принципу своей работы очень похожи на порты обыкновенные, те самые, которые можно встреть в любом городе с развитой водной транспортной инфраструктурой.
Недаром эти два слова являются омонимами.
С этой точки зрения компьютер представляется ничем иным как городом, а еще лучше страной с множеством портов, а программы, имеющие доступ в Интернет – судами с полезным или опасным грузом (тут уж всякое бывает).
Портом компьютерным и портом как местом на берегу моря помимо явного назначения еще в том заключается, что суда, если их размеры тому позволяют, могут в разные порты входить, а вот программы только к определенным портам подключаться.

Многие браузеры, к примеру, используют порт под номером 80, в то время как могут использовать два порта, а именно номер 25 для отправки почты и номер 110 для приема.
Так вот, иногда у пользователей возникает необходимость узнать, какой порт использует какая программа. А узнать это весьма просто. Для этих целей можно воспользоваться специальными утилитами типа TCPView либо же самой обыкновенной командной строкой. Запустите консоль от имени администратора и выполните вот такую команду:
netstat /?


При этом откроется краткое описание команды и список доступных параметров. Например, использование netstat с ключом –а выведет список всех подключений и портов прослушивания, ключ –o откроет доступ к ID каждого процесса, а ключ –b покажет исполняемый файл, участвующий в создании подключения, что собственно нами и нужно. Для просмотра адресов и номеров портов также можно использовать ключ –N .
Итак, выполняем команду netstat –a –n –o и смотрим, что получилось. Мы получили список активных подключений с указанием протокола, локального и внешнего адресов, состояния и идентификатора. Как узнать, к примеру, какому файлу принадлежит ID 2248? Можно расширить команду добавим в нее ключ –b или тут же выполнить другую команду tasklist | find «2248» . Вот все так просто.
Использует программа (или какая программа использует порты ), обычно возникает в случае подозрения на заражение компьютера троянской программой. Если вы заметили что-то подозрительное, откройте командную строку: «Пуск» – «Все программы» – «Стандартные» – «Командная строка».
Введите в командной строке команду tasklist и нажмите Enter. Вы получите данные обо всех запущенных в системе процессах. Обратите внимание на PID – идентификатор процесса. Он поможет определить, какая программа использует тот или иной порт.
Наберите в командной строке команду netstat –aon и нажмите Enter. Вы увидите список текущих подключений. В графе «Локальный адрес» в конце каждой строки указан номер порта. В графе PID указаны идентификаторы процессов. Посмотрев номер порта и соответствующий ему PID, перейдите к списку процессов и по номеру идентификатора определите, какой процесс использует этот порт.
Если вы не можете по названию процесса понять, какой программе он принадлежит, воспользуйтесь одной из подходящих в данном случае программ. Например, программой Everest, она же Aida64. Запустите программу, откройте вкладку «Операционная система», выберите «Процессы». В списке процессов найдите нужный вам и посмотрите строку его запуска. Это поможет определить, какой программе принадлежит процесс.
Используйте для той же цели программу AnVir Task Manager. Она позволяет отслеживать все подозрительные процессы, в том числе процессы программ, соединяющихся с интернетом. Все подозрительные процессы выделяются в списке программы красным цветом.
Если вы видите, что порт используется неизвестной вам программой, то при наличии текущего соединения в графе «Внешний адрес» (команда netstat –aon) вы увидите ip-адрес компьютера, с которым установлено соединение. В графе «Состояние» будет стоять значение ESTABLISHED – если соединение присутствует на текущий момент; CLOSE_WAIT, если соединение закрыто; LISTENING, если программа ждет соединения. Последнее характерно для бэкдоров — одной из разновидностей троянских программ.
Программный порт – это условное число от 1до до 65535, которое показывает, какому приложению адресован пакет данных. Порт, который работает с программой, называется открытым. Надо иметь в виду, что в текущий момент любой порт может работать только с одной программой.
Если порт открыт это означает, что какая либо программа (например сервис) использует его для связи с другой программой через интернет или в локальной системе. Чтобы посмотреть какие порты открыты в вашей системе Linux можно использовать команду netstat. В выводе будут показаны все сервисы и прослушиваемые ими порты и ip адреса.
sudo netstat -ntulp Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 2392/smbd
tcp 0 0 0.0.0.0:9518 0.0.0.0:* LISTEN 2894/skype
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 2896/vlc
tcp 0 0 127.0.0.1:3493 0.0.0.0:* LISTEN 2467/upsd
.
- -l или —listening — посмотреть только прослушиваемые порты
- -p или —program — показать имя программы и ее PID
- -t или —tcpпоказать tcp порты
- -u или —udp показать udp порты
- -n или —numeric показывать ip адреса в числовом виде
Способ 2 lsof
Утилита lsof позволяет посмотреть все открытые в системе соединения, в том числе и сетевые, для этого нужно использовать опцию i.
dhcpcd 2136 root 6u IPv4 4986 0t0 UDP *:bootpc
hamachid 2323 root 8u IPv4 5587 0t0 TCP 192.168.1.2:35445->212.118.234.65:https (ESTABLISHED)
smbd 2392 root 27u IPv6 5624 0t0 TCP *:microsoft-ds (LISTEN)
sshd 2421 root 3u IPv4 6196 0t0 TCP *:ssh (LISTEN)
upsd 2467 nut 4u IPv4 6235 0t0 TCP comm-app.local:nut (LISTEN)
Еще один пример, смотрим какие процессы работают с портом 80:
sudo lsof -i | grep 80
ntpd 2213 root 23u IPv6 5422 0t0 UDP :ntp
ntpd 2213 root 27u IPv6 5598 0t0 UDP :ntp
skype 2894 serigy 87u IPv4 7080 0t0 TCP *:9518 (LISTEN)
chrome 3114 sergiy 122u IPv4 31904 0t0 TCP 192.168.1.2:47804->srv118-131-240-87.vk.com:https (ESTABLISHED)
Способ 3. nmap
Nmap — мощный сетевой сканер, разработанный для сканирования и пентестинга удаленных узлов, но ничего не мешает направить его на локальный компьютер:
Starting Nmap 6.47 (http://nmap.org) at 2015-08-02 17:27 EEST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00036s latency).
Other addresses for localhost (not scanned): 127.0.0.1 127.0.0.1 127.0.0.1 127.0.0.1 127.0.0.1 127.0.0.1
rDNS record for 127.0.0.1: comm-app.local
Not shown: 995 closed ports
PORT STATE SERVICE
22/tcp open ssh
139/tcp open netbios-ssn
445/tcp open microsoft-ds
3493/tcp open nut
8080/tcp open http-proxy
Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds
Если вы хотите посмотреть какие порты на компьютере доступны снаружи, здесь тоже пригодится Nmap. Если компьютер — общедоступный сервер, то результат скорее всего не будет отличатся от локального сканирования, но на домашнем компьютере все немного по другому. Первый вариант — используется роутер и в сеть будут видны только порты роутера, еще одним порогом защиты может стать NAT сервер провайдера. Технология NAT позволяет нескольким пользователям использовать один внешний IP адрес. И так для просмотра открытых внешних портов сначала узнаем внешний ip адрес, для надежности воспользуемся онлайн сервисом:
В результате мы можем получить открытый порт 80 веб сервера, или даже 21 — файлового сервера, которых мы не устанавливали, эти порты открыты роутером, 80 — для веб-интерфейса, а 21 для может использоваться для обновления прошивки. А еще можно вообще не получить результатов, это будет означать что все порты закрыты, или на сервере установлена система защиты от вторжений IDS.
Источник: crabo.ru