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

use*_*729 164 windows port

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

n0r*_*0rd 193

开始 - >附件右键单击"命令提示符",在菜单中单击"以管理员身份运行"(在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
Run Code Online (Sandbox Code Playgroud)

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

  • netstat -anb | findstr:80 (138认同)
  • 安东,它会砍掉工艺名称. (6认同)
  • 谢谢,关于skype的观点非常有帮助. (4认同)
  • 然后,您需要仔细查看列表或安装一些其他软件.例如,http://technet.microsoft.com/en-us/sysinternals/bb897437.aspx. (3认同)
  • @Anton Tykhyy,这种方式我看不到程序名称,只是数字. (3认同)

Tec*_*nic 182

输入命令:__CODE__.

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

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

- 一个显示所有连接和侦听端口.

- o显示与每个连接关联的拥有进程ID.

- n以数字形式显示地址和端口号.

  • 并找到运行它的过程:tasklist/svc/FI"PID eq 1348"(感谢@ Quang-Trinh) (4认同)
  • 请注意,`findstr :80` 将匹配包括“80”在内的每个端口,因此除了端口 80,它还将匹配端口 8009、8080 等上的程序。 (3认同)

Man*_*anu 13

如果您想要真正喜欢,请从sysinternals 下载TCPView

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


Mar*_*son 12

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

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

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

在此输入图像描述


小智 9

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

Netstat -a -n -o

要么

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

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

然后,使用netstat输出中列出的PID,您可以跟进Windows任务管理器(taskmgr.exe)或运行具有使用上一步中的端口的特定PID的脚本.然后,您可以将"tasklist"命令与对应于相关端口的特定PID一起使用.例:

任务列表/ 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/