首页 文章

如何在Windows中查找哪个程序正在使用端口80? [重复]

提问于
浏览
155

这个问题在这里已有答案:

如何在Windows中查找哪个程序正在使用端口80?我找不到它 .

6 回答

  • 9

    开始 - >附件右键单击"Command prompt",在菜单中单击"Run as Administrator"(在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
    

    此外,它不需要提升运行 .

  • 3

    输入命令:

    netstat -aon | findstr :80 .

    它将显示使用端口80的所有进程 . 请注意右列中的pid .

    如果你想释放端口,请转到任务管理器,按pid排序并关闭这些进程 .

  • 13

    如果你想真的很花哨,请从sysinternals下载TCPView

    TCPView是一个Windows程序,它将向您显示系统上所有TCP和UDP endpoints 的详细列表,包括本地和远程地址以及TCP连接的状态 . 在Windows Server 2008,Vista和XP上,TCPView还会报告拥有 endpoints 的进程的名称 . TCPView提供了Windows附带的Netstat程序的更多信息和方便呈现的子集 .

  • 12

    使用这个漂亮的免费软件实用程序:

    CurrPorts 是网络监视软件,显示本地计算机上所有当前打开的TCP / IP和UDP端口的列表 .

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

    enter image description here

  • 164

    右键单击“命令提示符”或“Power shell”,在菜单中单击“以管理员身份运行”(在Windows XP上,您可以像往常一样运行)以下命令将显示端口级别正在使用的网络流量:

    Netstat -a -n -o

    要么

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

    (在文本编辑器中打开端口和进程列表,您可以在其中搜索所需的信息)

    然后,使用netstat输出中列出的PID,您可以跟进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/

  • 181

    使用netstat util

相关问题