Просмотр используемых портов Windows
Обновлено: 21.11.2024
В любой момент времени в Windows будет множество приложений, подключенных или пытающихся подключиться к Интернету. Со всеми этими приложениями вполне естественно, что они используют много портов. Время от времени для работы двух приложений может потребоваться один и тот же порт. Когда этот конкретный порт используется другим приложением, оно не может использовать этот порт, и приложение может отображать предупреждающее сообщение или полностью аварийно завершать работу. В таких ситуациях лучше знать, какие порты используются и какое приложение использует этот конкретный порт. Таким образом, вы можете либо изменить порт, либо закрыть приложение, вызывающее проблему, чтобы другое приложение работало должным образом. Без лишних слов позвольте мне показать вам, как узнать, какие порты используются в Windows 10.
Приведенные ниже методы show также работают в Windows 7 и Windows 8.
С помощью одной команды вы можете получить список всех портов, используемых различными программами. Этот метод весьма полезен, если вы хотите быстро просмотреть используемые порты.
<р>1. Найдите «cmd» в меню «Пуск», щелкните правой кнопкой мыши командную строку и выберите «Запуск от имени администратора». Этот параметр позволяет открыть командную строку с правами администратора.<р>2. В окне командной строки с повышенными привилегиями выполните приведенную ниже команду. Вы можете скопировать команду и вставить ее в окно командной строки, щелкнув внутри нее правой кнопкой мыши.
<р>3. В результате вы увидите номер порта рядом с IP-адресом (например, 192.168.42.198:50943). Вы можете увидеть выделенную часть на изображении ниже для лучшего представления.
Имейте в виду, что список не будет обновляться автоматически. Вы должны выполнить команду снова, когда вам понадобится обновленный список. Если вы хотите, чтобы список используемых портов обновлялся автоматически, используйте два следующих метода.
У Nirsoft Utilities есть довольно удобный и легкий инструмент под названием CurrPorts, в котором перечислены все порты, используемые Windows и другими программами. На случай, если вы этого не сделаете, у Nirsoft есть множество небольших портативных приложений, которые весьма полезны в повседневной жизни. Если вы никогда не использовали Nirsoft Utilities, зайдите на сайт разработчика, и вы найдете интересные небольшие инструменты.
<р>1. Во-первых, скачайте CurrPorts с официального сайта. Поскольку это портативное приложение, вам не нужно его устанавливать. После загрузки извлеките исполняемый файл из архива и дважды щелкните его, чтобы открыть. <р>2. Как только вы откроете окно, приложение отобразит список всех подключений и их портов. Номер порта можно найти в разделе «Локальный порт».<р>3. Будучи специализированным приложением для мониторинга портов, оно предлагает довольно много вариантов управления приложениями и портами. Просто щелкните правой кнопкой мыши любой параметр, и вы увидите соответствующие параметры, такие как возможность закрыть TCP-соединение, копирование свойств, свойства приложения и т. д.
<р>4. Если вам нужен более точный контроль, вы можете создать свои собственные фильтры, чтобы сузить поиск. Для этого выберите опцию «Параметры -> Расширенные фильтры».
Sysinternals TCPView — это инструмент Microsoft, упрощающий просмотр всех TCP-соединений и портов, используемых в Windows 10. Этот инструмент очень похож на CurrPorts.
<р>1. Загрузите TCPView с веб-сайта Sysinternals, извлеките исполняемый файл на рабочий стол и дважды щелкните его. <р>2. Как только вы откроете приложение, вам будет показано пользовательское соглашение. Согласитесь с соглашением, и вы сразу увидите все соединения TCP. Номера портов вы найдете в разделе «Локальный порт».<р>3.Если вы хотите, вы можете разорвать соединение и освободить порт. Для этого щелкните правой кнопкой мыши соединение и выберите «Завершить процесс». Это завершит процесс.
Это все. Узнать, какие порты используются в Windows 10, очень просто. Если вам понравилась эта статья, узнайте, как изменить имя сети в Windows 10 и как показать скорость загрузки и выгрузки на панели задач в Windows.
Закрыто. Этот вопрос не соответствует правилам переполнения стека. В настоящее время ответы не принимаются.
Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме Stack Overflow.
Закрыто 15 дней назад.
Сообщество рассмотрело вопрос о повторном открытии этого вопроса 15 дней назад и оставило его закрытым:
Первоначальные причины закрытия не были устранены
Как узнать, какой процесс прослушивает порт TCP или UDP в Windows?
Я столкнулся с этим при попытке запустить Tomcat в режиме отладки под IntelliJ. Лучшим решением для меня оказалось изменение конфигурации отладочного транспорта (Файл->Настройки->Сборка/exe/развертывание->Отладчик) с " сокет" в "общую память".
@SmitJohnth Я использую netstat -aof | findstr :3306, чтобы найти процесс MySQL в Windows 10 и отлично работает.
34 ответа 34
(Добавьте -n, чтобы он не пытался разрешать имена хостов, что сделает его намного быстрее.)
Обратите внимание на рекомендацию Дейна относительно TCPView. Выглядит очень полезно!
-a Отображает все подключения и прослушиваемые порты.
-b Отображает исполняемый файл, участвующий в создании каждого соединения или порта прослушивания. В некоторых случаях хорошо известные исполняемые файлы содержат несколько независимых компонентов, и в этих случаях отображается последовательность компонентов, участвующих в создании соединения или порта прослушивания. В этом случае имя исполняемого файла находится в [] внизу, вверху — компонент, который он вызвал, и так далее, пока не будет достигнут TCP/IP. Обратите внимание, что этот вариант может занять много времени и не будет работать, если у вас нет достаточных разрешений.
-n Отображает адреса и номера портов в числовой форме.
-o Отображает идентификатор процесса-владельца, связанный с каждым соединением.
чтобы затем завершить процесс, используя /F, если это необходимо.
Возможно, вам придется запустить оболочку командной строки от имени администратора, иначе вы можете получить сообщение об ошибке о недостаточных правах. Используйте параметр «Запуск от имени администратора», щелкнув правой кнопкой мыши cmd.exe.
Получив PID (скажем, 1234), вы можете использовать список задач /fi "pid eq 1234", чтобы узнать имя и другие детали процесса.
@RodionSychev Команда powershell ожидает, что вы замените «portNumber» на номер порта, который вы ищете. В сообщении об ошибке указано, что "portNumber" не является числом.
Есть собственный графический интерфейс для Windows:
Меню "Пуск" → Все программы → Стандартные → Системные инструменты → Монитор ресурсов
или запустите resmon.exe ,
или из Диспетчера задач → вкладка Производительность.
Также можно запустить с вкладки "Производительность" диспетчера задач, по крайней мере, в Windows 10. (Другие версии не проверял.)
Комментарий @user4836454 выше НЕверен: Resource Monitor ДЕЙСТВИТЕЛЬНО показывает порты с прослушивателями, даже если к этим портам нет сетевого подключения. Просто загляните в раздел «Прослушивание портов» вместо раздела «TCP-соединения».
+1 Но имейте в виду, что если ваши окна работают на языке, отличном от английского, вам придется изменить «прослушивание» на родной термин. Например. netstat -аон | найти /i "abhören" для немецкого языка.
В моем случае это не сработало, возможно, из-за знака кавычек, но решение netstat -aon | findstr ПРОСЛУШИВАНИЕ работает отлично!
Я получаю сообщение об ошибке при попытке запустить эту команду на W10 15063.729 с помощью PowerShell: НАЙТИ: неверный формат параметра
Используйте TCPView, если вам нужен графический интерфейс. Это старое приложение Sysinternals, которое Microsoft выкупила.
По моему мнению, это лучший вариант, тем более что все процессы находятся в одном списке, и вы можете закрыть процессы напрямую, щелкнув их правой кнопкой мыши.
Переключатель -b, упомянутый в большинстве ответов, требует наличия прав администратора на компьютере. Вам действительно не нужны повышенные права, чтобы получить имя процесса!
Найти pid процесса, работающего по номеру порта (например, 8080)
Найти имя процесса по pid
Вы можете получить дополнительную информацию, если выполните следующую команду:
Использование команды "Найти" позволяет фильтровать результаты. find /i "прослушивание" отобразит только те порты, которые "прослушиваются". Обратите внимание: вам нужен /i, чтобы игнорировать регистр, иначе вы бы набрали find «LISTENING». | find "port" ограничит результаты только теми, которые содержат определенный номер порта. Обратите внимание, что в этом случае он также будет фильтровать результаты, содержащие номер порта в любом месте строки ответа.
Попытка FWIW запустить это в PowerShell v2.0 приводит к ошибке FIND: неправильный формат параметра . Вам нужно добавить пробел после критериев поиска. Это оставит вас с netstat -aon | найти /i "слушать" | найдите "1234".
@себя. Я все еще получаю эту ошибку с PS 5.1, даже после добавления пробела после вертикальной черты. Вы знаете, что происходит?
@NickeManarinin & @self либо сначала измените powershell на cmd (просто введите cmd и нажмите Enter, затем повторите команду), либо в powershell используйте вместо этого эту команду: netstat -aon |find /i "
Откройте окно командной строки (от имени администратора). В поле "Пуск\Поиск" введите "cmd", затем щелкните правой кнопкой мыши "cmd.exe" и выберите "Запуск от имени администратора"
Введите следующий текст и нажмите Enter.
netstat -abno
-a Отображает все подключения и прослушиваемые порты.
-b Отображает исполняемый файл, участвующий в создании каждого соединения или порта прослушивания. В некоторых случаях хорошо известные исполняемые файлы содержат несколько независимых компонентов, и в этих случаях отображается последовательность компонентов, участвующих в создании соединения или порта прослушивания. В этом случае имя исполняемого файла находится в [] внизу, вверху — компонент, который он вызвал, и так далее, пока не будет достигнут TCP/IP. Обратите внимание, что этот вариант может занять много времени и не будет работать, если у вас нет достаточных разрешений.
-n Отображает адреса и номера портов в числовой форме.
-o Отображает идентификатор процесса-владельца, связанный с каждым соединением.
Найдите порт, который вы слушаете, в разделе "Локальный адрес"
Посмотрите на имя процесса прямо под ним.
ПРИМЕЧАНИЕ. Чтобы найти процесс в диспетчере задач
Обратите внимание на PID (идентификатор процесса) рядом с портом, который вы просматриваете.
Откройте диспетчер задач Windows.
Выберите вкладку "Процессы".
Найдите PID, который вы отметили, когда выполняли netstat на шаге 1.
Если вы не видите столбец PID, нажмите «Просмотреть/выбрать столбцы». Выберите PID.
Связи между приложениями очень похожи на разговоры между людьми. Разговор начинается с того, что кто-то говорит. Если никто не слушает, то разговор не зайдет далеко. Как узнать, кто слушает на ПК с Windows? Утилита командной строки Netstat и командлет PowerShell Get-NetTCPConnection.
В этом руководстве вы узнаете, как проверять прослушиваемые порты и установленные TCP-соединения на вашем компьютере с Windows с помощью Netstat и встроенной команды PowerShell Get-NetTCPConnection .
Оглавление
Предпосылки
Если вы хотите следовать примерам из этого руководства, убедитесь, что у вас есть:
- ПК с ОС Windows. Подойдет любая версия. В этом руководстве используется Windows 10 Build 21343.1
- PowerShell. И Windows PowerShell, и PowerShell 6+ должны работать. В этом руководстве используется PowerShell v7.2.0-preview.2
Использование Netstat для поиска активных и прослушиваемых портов
Netstat – это одна из тех утилит командной строки, которая, кажется, существовала всегда. Долгое время это была надежная утилита командной строки для проверки локальных сетевых подключений. Давайте посмотрим, как использовать его для поиска прослушиваемых и установленных сетевых подключений.
Netstat имеет множество различных параметров. В этом уроке будут использоваться только три из них. Чтобы узнать больше о возможностях netstat, запустите netstat /? .
Предполагая, что вы работаете на ПК с Windows:
<р>2. Запустите netstat -a, чтобы найти все прослушиваемые и установленные соединения на ПК. По умолчанию netstat возвращает только прослушиваемые порты.Использование параметра -a указывает netstat возвращать прослушивание и установленные соединения.
Запустите Netstat -a
Вышеприведенный вывод разбит на четыре столбца:
- Proto – показывает либо UDP, либо TCP, чтобы указать тип используемого протокола.
- Локальный адрес — показывает локальный IP-адрес и прослушиваемый порт. Для многих служб это будет 0.0.0.0 для части IP, что означает прослушивание всех сетевых интерфейсов. В некоторых случаях служба будет прослушивать только один сетевой интерфейс (NIC). В этом случае netstat покажет IP-адрес сетевой карты. Двоеточие отделяет IP-адрес от прослушиваемого порта.
- Внешний адрес — показывает удаленный IP-адрес, с которым взаимодействует локальное соединение. Если внешний адрес равен 0.0.0.0:0, соединение прослушивает все IP-адреса и все порты. Для установленных подключений будет показан IP-адрес клиентского компьютера.
- Состояние — показывает состояние, в котором находится порт, обычно это ПРОСЛУШИВАЕТСЯ или УСТАНОВЛЕНО .
запустить netstat -an
<р>4. Наконец, возможно, вы хотели бы знать, какие процессы Windows прослушивают или имеют открытые соединения. Чтобы узнать это, используйте ключ -b.Для использования ключа -b требуется командная строка с повышенными привилегиями или приглашение PowerShell. Вы получите сообщение об ошибке. Запрошенная операция требует повышения прав, если вы используете ключ -b в приглашении без повышенных прав.
netstat -anb
Использование PowerShell для поиска активных и прослушиваемых портов
Теперь, когда у вас есть возможность увидеть, как устаревшая утилита netstat показывает активные и прослушиваемые порты, давайте посмотрим, как это сделать в PowerShell.
Использование PowerShell дает вам гораздо больше контроля, чтобы видеть только то, что вы хотите, вместо того, чтобы прокручивать длинные списки вывода. Командлет Get-NetTCPConnection намного точнее, чем netstat, определяет, что вы хотите видеть.
В этом руководстве не рассматриваются все параметры, которые предоставляются с помощью командлета Get-NetTCPConnection. Если вам интересно, запустите Get-Help Get-NetTCPConnection -Detailed, чтобы найти больше примеров.
На ПК с Windows:
<р>1. Откройте консоль PowerShell от имени администратора.<р>2. Запустите Get-NetTcpConnection. Вы увидите вывод, аналогичный тому, что предоставил netstat. Get-NetTcpConnection возвращает не просто большую строку вывода, а список объектов PowerShell.Единственная причина, по которой вам нужно повышать права консоли PowerShell, — это возможность увидеть программу, владеющую подключением (например, параметр netstat -b).
Теперь вы можете видеть ту же общую информацию, которую вам предоставил netstat; по умолчанию у вас есть информация о OwningProcess (переключатель -b в netstat) и поле AppliedSetting, которое относится к сетевому профилю, частью которого является соединение.
В отличие от netstat командлет Get-NetTCPConnection теперь будет отображать прослушиваемые соединения UDP.
Get-NetTCPConnection
<р>3. Направьте вывод в Select-Object, показывающий все свойства. Вы увидите, что PowerShell возвращает намного больше информации, чем netstat.
Направить вывод в Select-Object
<р>4. Теперь сузьте вывод до прослушивающих портов.
сузить вывод
<р>5. Теперь найдите имена процессов для полей OwningProcess. Для этого запустите командлет Get-Process и укажите идентификатор процесса, как показано ниже.
Командлет Get-Process
Если вы хотите создать другое свойство для имени процесса, вы можете дополнительно использовать вычисляемое поле Select-Object.
<р>6. Сократите количество состояний, найдя состояния Listening и Established, определив значение параметра State в виде списка, разделенного запятыми. <р>7. Наконец, ограничьте количество подключений портом, к которому подключено подключение, с помощью параметра RemotePort.Используйте параметр LocalPort для фильтрации соединений по локальному порту. Get-NetTCPConnection -RemotePort 443
Параметр RemotePort
Заключение
Теперь вы увидели, как утилита Netstat и командлет Get-NetTCPConnection PowerShell помогают находить локальные сетевые подключения.
Теперь, когда вы можете показать процессы, запущенные на сервере, объедините это с командлетом PowerShell Test-NetConnection, чтобы получить полное представление о подключении между клиентом и сервером.
Ненавидите рекламу? Хотите поддержать писателя? Получите многие из наших руководств в виде руководства по ATA.
Ещё от ATA Learning & Partners
Резервное копирование Office 365 для чайников
Лучшее руководство по защите данных Microsoft Office 365. Изучите готовые функции безопасности.
Руководства ATA
ATA известна своими высококачественными письменными учебными пособиями в виде сообщений в блогах. Поддержите ATA с помощью электронных книг ATA Guidebook PDF, доступных в автономном режиме и без рекламы!
Уолтер Гленн
Уолтер Гленн
Бывший главный редактор
Уолтер Гленн – бывший главный редактор How-To Geek и связанных с ним сайтов. Он имеет более чем 30-летний опыт работы в компьютерной индустрии и более 20 лет в качестве технического писателя и редактора. Он написал сотни статей для How-To Geek и отредактировал тысячи. Он является автором или соавтором более 30 книг о компьютерах на более чем дюжине языков для таких издательств, как Microsoft Press, O'Reilly и Osborne/McGraw-Hill. Он также написал сотни технических документов, статей, руководств пользователя и курсов. Подробнее.
Всякий раз, когда приложение хочет сделать себя доступным по сети, оно требует порт TCP/IP, что означает, что этот порт не может использоваться ничем другим. Так как же проверить открытые порты, чтобы увидеть, какое приложение уже использует их?
IP-адрес указывает компьютер или другое сетевое устройство в сети. Когда одно устройство отправляет трафик на другое, IP-адрес используется для направления этого трафика в соответствующее место. Как только трафик достигает нужного места, устройство должно знать, в какое приложение или службу направлять трафик. Вот тут-то и появляются порты. Если IP-адрес сродни почтовому адресу в почтовом письме, порт — это что-то вроде имени человека в этом доме, который получает почту. По большей части вам не нужно беспокоиться о портах. Но время от времени вы можете столкнуться с приложением, настроенным на прослушивание трафика на том же порту, который уже используется другим приложением. В этом случае вам нужно указать приложение, в котором этот порт уже используется.
Существует несколько способов узнать, какое приложение имеет заблокированный порт, но мы познакомим вас с парой встроенных способов, использующих командную строку, а затем покажем отличное бесплатное приложение, которое делает это еще проще. Все эти методы должны работать независимо от того, какую версию Windows вы используете.
Используйте встроенные инструменты, чтобы увидеть, что прослушивает порт
У нас есть две команды, чтобы показать вам. В первом перечислены активные порты вместе с именем процесса, который их использует. В большинстве случаев эта команда будет работать нормально. Однако иногда имя процесса не поможет вам определить, к какому приложению или сервису на самом деле привязан порт. В таких случаях вам потребуется перечислить активные порты вместе с номерами их идентификаторов процессов, а затем просмотреть эти процессы в диспетчере задач.
Первый вариант: просмотр использования порта вместе с именами процессов
Во-первых, вам нужно открыть командную строку в режиме администратора. Нажмите «Пуск», а затем введите «команда» в поле поиска. Когда в результатах появится «Командная строка», щелкните ее правой кнопкой мыши и выберите «Запуск от имени администратора».
В командной строке введите следующий текст и нажмите Enter:
После того, как вы нажмете Enter, для полного отображения результатов может потребоваться минута или две, так что наберитесь терпения. Прокрутите список, чтобы найти порт (который указан после двоеточия справа от локального IP-адреса), и вы увидите имя процесса, указанное под этой строкой. Если вы хотите немного упростить задачу, помните, что вы также можете передать результаты команды в текстовый файл. Затем вы можете просто найти в текстовом файле номер порта, который вам нужен.
Здесь, например, видно, что порт 49902 занят процессом с именем picpick.exe. PicPick — это редактор изображений в нашей системе, поэтому мы можем предположить, что порт фактически связан процессом, который регулярно проверяет наличие обновлений для приложения.
Вариант второй: просмотр использования порта вместе с идентификаторами процессов
Если имя процесса для номера порта, который вы ищете, затрудняет определение связанного приложения, вы можете попробовать версию команды, которая показывает идентификаторы процессов (PID), а не имена. Введите следующий текст в командной строке и нажмите Enter:
В крайнем правом столбце перечислены идентификаторы PID, поэтому просто найдите тот, который привязан к порту, который вы пытаетесь устранить.
Затем откройте Диспетчер задач, щелкнув правой кнопкой мыши любое свободное место на панели задач и выбрав «Диспетчер задач».
Если вы используете Windows 8 или 10, перейдите на вкладку "Подробности" в диспетчере задач. В более старых версиях Windows вы увидите эту информацию на вкладке «Процессы». Отсортируйте список процессов по столбцу «PID» и найдите PID, связанный с портом, который вы исследуете. Возможно, вы сможете узнать больше о том, к какому приложению или службе привязан порт, просмотрев столбец «Описание».
Если нет, щелкните процесс правой кнопкой мыши и выберите «Открыть расположение файла». Расположение файла, скорее всего, даст вам представление о том, какое приложение задействовано.
После того, как вы там, вы можете использовать параметры «Завершить процесс», «Открыть расположение файла» или «Перейти к службам», чтобы контролировать процесс или остановить его.
Используйте NirSoft CurrPorts для просмотра того, что прослушивает порт
Если вы не любитель командной строки или предпочитаете использовать простую утилиту, чтобы сделать все это за один шаг, мы рекомендуем отличную бесплатную утилиту CurrPorts от NirSoft. Идите вперед и загрузите инструмент. Просто убедитесь, что вы используете правильную версию (обычная версия предназначена для 32-разрядной версии Windows, а версия x64 — для 64-разрядной версии Windows). Это портативное приложение, поэтому вам не нужно его устанавливать. Просто разархивируйте папку загрузки и запустите исполняемый файл.
В окне CurrPorts выполните сортировку по столбцу «Локальный порт», найдите порт, который вы исследуете, и вы увидите все — имя процесса, PID, порт, полный путь к процессу и т. д.
Чтобы упростить задачу, дважды щелкните любой процесс, чтобы просмотреть все детали в одном окне.
Когда вы определили, к какому приложению или службе привязан исследуемый вами порт, вам решать, как с этим справиться. Если это приложение, у вас может быть возможность указать другой номер порта. Если это служба или у вас нет возможности указать другой номер порта, вам, скорее всего, придется остановить службу или удалить приложение.
- › How-To Geek нанимает специалиста по Windows на полную ставку
- › Как узнать, использует ли ваш ПК с Windows прокси-сервер
- › 20 лучших обучающих тем 2010 года
- ›5 шрифтов, которые следует прекратить использовать (и лучшие альтернативы)
- › Почему не было Windows 9?
- › Что означает XD и как вы его используете?
- › Как установить Google Play Маркет в Windows 11
- › Как восстановить метки панели задач в Windows 11
Читайте также: