Какой порт используется данной программой? [закрыто]


99

Я хочу выяснить, какой порт использует конкретная программа. Существуют ли какие-либо программы, доступные в Интернете или поставляемые с окнами, которые сообщают мне, какие процессы используют какие порты на моем компьютере?

PS - прежде чем вы сделаете это, потому что это не вопрос программирования, я ищу программу для проверки сетевого кода.


7
Независимо от того, собираетесь ли вы использовать это как часть какого-либо проекта программирования, это не проблема программирования.
Lightness Races in Orbit

Ответы:


149

netstat -b -aперечисляет используемые порты и дает вам исполняемый файл, который использует каждый из них. Я считаю, что для этого вам нужно быть в группе администраторов, и я не знаю, какие последствия для безопасности существуют в Vista.

Обычно я также добавляю, -nчтобы сделать это немного быстрее, но добавление -bможет сделать это довольно медленно.

Изменить : если вам нужно больше функций, чем предоставляет netstat, vasac предлагает вам попробовать TCPView .


1
Если у кого-то есть право редактировать ответ, подумайте о добавлении ответа vasac ниже (TCPView) для тех, кому нужна более полнофункциональная версия этого с настоящим
графическим интерфейсом

Я добавил в свой ответ ссылку на TCPView.
Грэм Перроу,

1
есть ли способ с брандмауэром?
Мохаммад Кермани

42

TCPView может делать то, о чем вы просили.


1
Спасибо; netstat более чем достаточно для моих нужд, но если мне когда-нибудь понадобится что-то более сложное, я обязательно воспользуюсь TCPView. Следует добавить к принятому ответу, но, увы, у меня еще нет права редактировать.
AlexeyMK

Я использовал утилиту Netstat, которая поставляется с XAMPP. Но эта автономная утилита очень полезна. Спасибо.
Shiyaz

25

В Vista вам необходимы повышенные привилегии для использования опции -b с netstat. Чтобы обойти это, вы можете запустить netstat -ano, который покажет все открытые порты вместе с соответствующим идентификатором процесса. Затем вы можете использовать список задач, чтобы найти процесс с соответствующим идентификатором.

C:\>netstat -ano

Active Connections

  Proto  Local Address          Foreign Address        State           PID
  ...
  TCP    [::]:49335             [::]:0                 LISTENING       1056
  ...

C:\>tasklist /fi "pid eq 1056"

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
sqlservr.exe                  1056 Services                   0     66,192 K

13

Возможно, у вас уже установлен Process Explorer (от Sysinternals, теперь являющегося частью Microsoft). Если нет, то установите его сейчас - это так здорово.

В Process Explorer: найдите нужный процесс, щелкните правой кнопкой мыши и выберите вкладку TCP / IP. Он даже покажет вам для каждого сокета трассировку стека, представляющую код, который открыл этот сокет.


7

Если вы предпочитаете графический интерфейс, CurrPorts бесплатен и работает со всеми версиями Windows. Показывает порты и какой процесс их открыл.


еще одна хорошая альтернатива. вау, не знал, что это такая популярная тема :)
AlexeyMK


4

Windows 8 (и, вероятно, 7 + Vista) также обеспечивает просмотр в мониторе ресурсов. Если вы выберете вкладку «Сеть», там появится раздел «Порты прослушивания». Может сортировать по номеру порта и видеть, какой процесс его использует.


именно то, что мне нужно, 10х!
soninob


1

В командной строке netstat -a предоставит вам много информации.


Я бы проголосовал за это, если бы у меня остались голоса.
UnkwnTech

-1: -a не дает ID процесса
CharlesB

@CharlesB Это произойдет, если вы добавите -oопцию.
Marquis of Lorne

1

Вы можете использовать для этого команду netstat. Там есть описание делать такого рода вещи здесь .



-1

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.