Как найти, какая программа использует порт 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

enter image description here

Ответ 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