Как узнать какая программа использует порт 80 в Windows? [дубликат]

этот вопрос уже есть ответ здесь:

Как узнать какая программа использует порт 80 в Windows? Я не могу его найти.

6 ответов


пуск->аксессуары щелкните правой кнопкой мыши на "командной строке", в меню нажмите" запуск от имени администратора " (в Windows XP вы можете просто запустить его как обычно), запустите netstat -anb затем просмотрите вывод для вашей программы.

кстати, Skype по умолчанию пытается использовать порты 80 и 443 для входящих подключений.

вы также можете запустить netstat -anb >%USERPROFILE%\ports.txt следовал по start %USERPROFILE%\ports.txt чтобы открыть список портов и процессов в текстовом редакторе, где вы можете искать нужную информацию.

вы также можете использовать powershell для разбора netstat вывод и представить его в лучшем виде (или обработать любым способом):

$proc = @{};
Get-Process | ForEach-Object { $proc.Add($_.Id, $_) };
netstat -aon | Select-String "\s*([^\s]+)\s+([^\s]+):([^\s]+)\s+([^\s]+):([^\s]+)\s+([^\s]+)?\s+([^\s]+)" | ForEach-Object {
    $g = $_.Matches[0].Groups;
    New-Object PSObject | 
        Add-Member @{ Protocol =           $g[1].Value  } -PassThru |
        Add-Member @{ LocalAddress =       $g[2].Value  } -PassThru |
        Add-Member @{ LocalPort =     [int]$g[3].Value  } -PassThru |
        Add-Member @{ RemoteAddress =      $g[4].Value  } -PassThru |
        Add-Member @{ RemotePort =         $g[5].Value  } -PassThru |
        Add-Member @{ State =              $g[6].Value  } -PassThru |
        Add-Member @{ PID =           [int]$g[7].Value  } -PassThru |
        Add-Member @{ Process = $proc[[int]$g[7].Value] } -PassThru;
#} | Format-Table Protocol,LocalAddress,LocalPort,RemoteAddress,RemotePort,State -GroupBy @{Name='Process';Expression={$p=$_.Process;@{$True=$p.ProcessName; $False=$p.MainModule.FileName}[$p.MainModule -eq $Null] + ' PID: ' + $p.Id}} -AutoSize
} | Sort-Object PID | Out-GridView

также для запуска не требуется высота.


введите команду:

netstat -aon | findstr :80.

он покажет вам все процессы, которые используют порт 80. обратите внимание на pid в правом colum.

Если вы хотите освободить порт, перейдите в Диспетчер задач, отсортируйте по pid и закройте эти процессы.


Если вы хотите быть оригинальным, скачать TCPView от sysinternals

TCPView-это программа для Windows, которая будет показать вам подробные списки всех TCP и конечные точки UDP в вашей системе, включая местный и удаленный адреса и состояние TCP подключение. В Windows Server 2008, Vista и XP, TCPView также сообщает имя процесса, которому принадлежит конечная точка. Программа TCPView обеспечивает более информативный и удобно представленный подмножество программы netstat, корабли с окнами.


используйте эту отличную бесплатную утилиту:

CurrPorts это программное обеспечение для мониторинга сети, которое отображает список всех открытых портов TCP / IP и UDP на вашем локальном компьютере.

http://www.nirsoft.net/utils/cports.html

enter image description here


щелкните правой кнопкой мыши на "командной строке" или "Power shell", в меню нажмите "запуск от имени администратора" (в Windows XP вы можете просто запустить его как обычно) Следующая команда покажет, какой сетевой трафик используется на уровне порта:

Netstat-a-n-o

или

Netstat-a-n-o >%USERPROFILE%\ports.txt

(чтобы открыть список портов и процессов в текстовом редакторе, где вы можете искать информацию хочу)

затем, с PIDs, перечисленными в выходных данных netstat, вы можете следить за Диспетчером задач Windows (taskmgr.exe) или запустить скрипт с определенным PID, который использует порт с предыдущего шага. Затем вы можете использовать команду "tasklist"с определенным PID, который соответствует соответствующему порту. Пример:

tasklist / svc / FI " PID eq 1348"

http://www.techrepublic.com/blog/the-enterprise-cloud/see-what-process-is-using-a-tcp-port-in-windows-server-2008/


использовать netstat util