Как найти, какая программа использует порт 80 в Windows?
Как найти, какая программа использует порт 80 в Windows? Я не могу найти его.
Ответы
Ответ 1
Пуск- > Аксессуары щелкните правой кнопкой мыши на "Командная строка", в меню выберите "Запуск от имени администратора" (в 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
Кроме того, для запуска не требуется выполнить высоту.
Ответ 2
введите команду:
netstat -aon | findstr :80
.
он покажет вам все процессы, которые используют порт 80. Обратите внимание на pid в правом столбце.
если вы хотите освободить порт, перейдите в диспетчер задач, выполните сортировку по pid и закройте эти процессы.
Ответ 3
Если вы хотите быть действительно фантастическим, загрузите TCPView из sysinternals
TCPView - это программа для Windows, которая показать подробные списки всех TCP и конечные точки UDP в вашей системе, включая локальные и удаленные адреса и состояние TCP соединения. В Windows Server 2008, Vista и XP, TCPView также сообщает имя процесса, которому принадлежит конечная точка. TCPView обеспечивает более информативным и удобно представленным подмножество программы Netstat, которая корабли с Windows.
Ответ 4
Используйте эту бесплатную бесплатную утилиту:
CurrPorts - это программное обеспечение сетевого мониторинга, которое отображает список всех открытых портов TCP/IP и UDP на вашем локальном компьютере.
http://www.nirsoft.net/utils/cports.html
Ответ 5
Щелкните правой кнопкой мыши "Командная строка" или "Силовая оболочка", в меню нажмите "Запуск от имени администратора" (в Windows XP вы можете просто запустить его, как обычно)
Следующая команда покажет, какой сетевой трафик используется на уровне порта:
Netstat -a -n -o
или
Netstat -a -n -o > % USERPROFILE%\ports.txt
(открыть список портов и процессов в текстовом редакторе, где вы можете искать нужную информацию)
Затем, с идентификаторами PID, указанными в выводе netstat, вы можете следить за работой диспетчера задач Windows (taskmgr.exe) или запускать script с помощью определенного 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/
Ответ 6
использовать netstat util