Как узнать, какая программа использует порт 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 в правом столбце.
если вы хотите освободить порт, перейдите в диспетчер задач, отсортируйте по pid и закройте эти процессы.
Если вы хотите быть по-настоящему модным, скачайте TCPView от sysinternals
TCPView - это программа для Windows, которая покажет вам подробные списки всех конечных точек TCP и UDP в вашей системе, включая локальные и удаленные адреса и состояние соединений TCP. В Windows Server 2008, Vista и XP TCPView также сообщает имя процесса, которому принадлежит конечная точка. TCPView предоставляет более информативное и удобно представленное подмножество программы Netstat, поставляемой с Windows.
Щелкните правой кнопкой мыши на "Командная строка" или "Power shell", в меню выберите "Запуск от имени администратора" (в Windows XP вы можете просто запустить его как обычно) Следующая команда покажет, какой сетевой трафик используется на уровне порта:
Netstat -a -n -o
или же
Netstat -a -n -o>% USERPROFILE% \ ports.txt
(открыть порт и список процессов в текстовом редакторе, где вы можете искать нужную информацию)
Затем с помощью идентификаторов PID, перечисленных в выводе netstat, вы можете запустить диспетчер задач Windows (taskmgr.exe) или запустить сценарий с определенным PID, использующим порт из предыдущего шага. Затем вы можете использовать команду "tasklist" с определенным PID, который соответствует рассматриваемому порту. Пример:
список задач / svc / FI "PID eq 1348"
Используйте эту изящную бесплатную утилиту:
CurrPorts - это программное обеспечение для мониторинга сети, которое отображает список всех открытых на данный момент портов TCP/IP и UDP на вашем локальном компьютере.