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

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
5

"netstat -natp" - это то, что я всегда использую.

Стив Бейкер
источник
4

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

Mikezx6r
источник
именно то, что мне нужно, 10х!
soninob
3

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

Адам Розенфилд
источник
1

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

CodeRot
источник
Я бы проголосовал за это, если бы у меня остались голоса.
UnkwnTech
-1: -a не дает ID процесса
CharlesB
@CharlesB Это произойдет, если вы добавите -oопцию.
Marquis of Lorne
1

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

Tkerwin
источник
-1

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

Тоби Миллс
источник