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


当前回答

正在使用PowerShell。。。…这将是您的朋友(用端口号替换8080):

 netstat -abno | Select-String -Context 0,1 -Pattern 8080

样本输出

>   TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING         2920
   [tnslsnr.exe]
>   TCP    [::]:8080              [::]:0                 LISTENING         2920
   [tnslsnr.exe]

因此,在此示例中,tnslsnr.exe(OracleXE数据库)正在侦听端口8080。

快速解释

选择字符串用于过滤相关行的netstat的冗长输出。-模式根据正则表达式测试每行。-上下文0,1将为每个模式匹配输出0个前导行和1个尾随行。

其他回答

netstat-aof|findstr:8080(更改任何端口的8080)

使用以下工具:从cmd:C:\>netstat-anob,具有管理员权限。

进程管理

过程转储

端口监视器

全部来自sysinternals.com。

如果您只想了解每个进程下的进程运行和线程,我建议您学习wmic。这是一个很棒的命令行工具,它为您提供了比您所能知道的更多的信息。

例子:

c:\> wmic process list brief /every:5

上述命令将每5秒简要显示一个所有进程列表。要了解更多信息,您可以与/?例如,

c:\> wmic /?
c:\> wmic process /?
c:\> wmic prcess list /?

依此类推。:)

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

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

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

要获取与每个连接关联的所有所属进程ID的列表,请执行以下操作:

netstat -ao |find /i "listening"

如果要终止任何进程,请具有ID并使用此命令,以便端口变为空闲

Taskkill /F /IM PID of a process

网络统计:

-a显示所有连接和侦听端口-b显示可执行文件-n停止解析主机名(数字形式)-o拥有过程netstat-bano | findstr“7002”netstat-ano>ano.txt

Currports工具有助于搜索和筛选