如何确定哪个进程正在侦听Windows上的TCP或UDP端口?


当前回答

只需打开命令shell并键入(端口为123456):

netstat -a -n -o | find "123456"

你会看到你需要的一切。

标题为:

 Proto  Local Address          Foreign Address        State           PID
 TCP    0.0.0.0:37             0.0.0.0:0              LISTENING       1111

这就是这里提到的。

其他回答

打开命令提示符-start→ 跑→ cmd或开始菜单→ 所有程序→ 配件→ 命令提示符。类型netstat-aon|findstr'[port_number]'

将[port_number]替换为要检查的实际端口号,然后按Enter键。

如果任何应用程序正在使用该端口,那么将显示该应用程序的详细信息。显示在列表最后一列的数字是该应用程序的PID(进程ID)。请注意这一点。类型tasklist | findstr“[PID]”

用上述步骤中的数字替换[PID],然后按Enter键。

将显示使用端口号的应用程序名称。

PowerShell(PowerShell)

如果你想有一个好的概述,你可以使用这个:

Get-NetTCPConnection -State Listen | Select-Object -Property *, `
    @{'Name' = 'ProcessName';'Expression'={(Get-Process -Id $_.OwningProcess).Name}} `
    | select ProcessName,LocalAddress,LocalPort

然后你会得到一张这样的桌子:

ProcessName              LocalAddress  LocalPort
-----------              ------------  ---------
services                 ::                49755
jhi_service              ::1               49673
svchost                  ::                  135
services                 0.0.0.0           49755
spoolsv                  0.0.0.0           49672

对于UDP,它是:

Get-NetUDPEndpoint | Select-Object -Property *, `
   @{'Name' = 'ProcessName';'Expression'={(Get-Process -Id $_.OwningProcess).Name}} `
   | select ProcessName,LocalAddress,LocalPort

PowerShell(PowerShell)

TCP

Get-Process -Id (Get-NetTCPConnection -LocalPort YourPortNumberHere).OwningProcess

UDP

Get-Process -Id (Get-NetUDPEndpoint -LocalPort YourPortNumberHere).OwningProcess

cmd

 netstat -a -b

(添加-n以阻止它尝试解析主机名,这将使它更快。)

注意Dane对TCPView的建议。它看起来很有用!

-a显示所有连接和侦听端口。

-b显示创建每个连接或侦听端口所涉及的可执行文件。在某些情况下,众所周知的可执行程序包含多个独立组件,在这些情况下,将显示创建连接或侦听接口所涉及的组件序列。在这种情况下,可执行文件名位于底部的[]中,顶部是它调用的组件,依此类推,直到到达TCP/IP。请注意,此选项可能很耗时,除非您有足够的权限,否则将失败。

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

-o显示与每个连接关联的所属进程ID。

打开命令提示符窗口(以管理员身份)从“开始\搜索框”输入“cmd”,然后右键单击“cmd.exe”并选择“以管理员身份运行”输入以下文本,然后按Enter键。netstat-荷兰银行-a显示所有连接和侦听端口。-b显示创建每个连接所涉及的可执行文件或侦听端口。在某些情况下,知名的可执行文件主机多个独立组件,在这些情况下创建连接所涉及的组件序列或显示监听端口。在这种情况下,可执行文件name位于底部的[]中,顶部是它调用的组件,以此类推,直到达到TCP/IP。请注意,此选项可能很耗时,除非你有足够的时间权限。-n以数字形式显示地址和端口号。-o显示与每个连接关联的所属进程ID。在“本地地址”下查找您正在侦听的端口查看直接位于其下的进程名称。

注意:在任务管理器下查找流程

注意您正在查看的端口旁边的PID(进程标识符)。打开Windows任务管理器。选择流程选项卡。查找在步骤1中执行netstat时注意到的PID。如果没有看到PID列,请单击查看/选择列。选择PID。确保选中“显示所有用户的流程”。

在Windows中从PID获取端口号非常简单。

步骤如下:

转到跑步→ 键入cmd→ 按Enter键。编写以下命令。。。netstat-aon|findstr[端口号](注意:不包括方括号。)按Enter键。。。然后cmd将提供在该端口上运行的服务的详细信息以及PID。打开任务管理器,点击服务选项卡,将PID与cmd的PID匹配,就这样。