Полное руководство: как составить список процессов, запущенных на определенном порту, в Windows CMD

В этой статье мы рассмотрим различные методы получения списка процессов, запущенных на определенном порту, в Windows CMD. Это может быть полезно в сценариях, когда вам необходимо определить, какие приложения или службы используют определенный порт в вашей системе. Мы обсудим несколько подходов с примерами кода, которые помогут вам эффективно выполнить эту задачу.

Метод 1: команда Netstat
Команда Netstat — это встроенная утилита Windows CMD, которая предоставляет информацию об активных сетевых подключениях. Чтобы получить список процессов, работающих на определенном порту, выполните следующие действия:

  1. Откройте командную строку, нажав Win + R, набрав «cmd» и нажав Enter.

  2. Выполните следующую команду:

    netstat -ano | findstr :<port_number>

    Замените <port_number>на нужный номер порта.

    Пример: чтобы найти процессы, использующие порт 8080, используйте команду netstat -ano | findstr :8080.

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

Метод 2: команда PowerShell
PowerShell предоставляет более расширенные возможности управления процессами. Выполните следующие действия:

  1. Откройте PowerShell, нажав Win + X и выбрав «Windows PowerShell».

  2. Выполните следующую команду:

    Get-Process -Id (Get-NetTCPConnection -LocalPort <port_number>).OwningProcess

    Замените <port_number>на нужный номер порта.

    Пример: чтобы найти процессы, использующие порт 8080, используйте команду Get-Process -Id (Get-NetTCPConnection -LocalPort 8080).OwningProcess.

  3. Вывод команды предоставит подробную информацию о процессах, запущенных на указанном порту, включая идентификатор процесса (PID), имя и другие свойства.

Метод 3: использование Python
Python предоставляет мощную библиотеку psutil, которая позволяет получать информацию о системе, включая сведения о процессах. Выполните следующие действия:

  1. Установите библиотеку psutil, выполнив следующую команду:

    pip install psutil
  2. Используйте следующий код Python для получения списка процессов, работающих на определенном порту:

    import psutil
    def get_processes_by_port(port):
       processes = []
       for proc in psutil.process_iter(['pid', 'name']):
           try:
               connections = proc.connections()
               for conn in connections:
                   if conn.laddr.port == port:
                       processes.append(proc)
                       break
           except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
               pass
       return processes
    port_number = <port_number>  # Replace <port_number> with the desired port number
    processes = get_processes_by_port(port_number)
    for proc in processes:
       print(f"PID: {proc.pid}, Name: {proc.name()}")

    Замените <port_number>на нужный номер порта.

    Пример: чтобы найти процессы, использующие порт 8080, используйте port_number = 8080.

  3. Запуск сценария отобразит идентификатор процесса (PID) и имя процессов, использующих указанный порт.

В этой статье мы рассмотрели три различных метода получения списка процессов, запущенных на определенном порту, в Windows CMD. Используя команду Netstat, PowerShell или Python с библиотекой psutil, вы можете легко идентифицировать процессы, связанные с определенным портом. Понимание того, какие процессы используют определенные порты, необходимо для устранения неполадок, связанных с сетью, и эффективного управления системными ресурсами.

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