如何确定哪个进程正在侦听Windows上的TCP或UDP端口?
当前回答
对于Windows 10或Windows Server 2016上的PowerShell 5,运行Get-NetTCPConnection cmdlet。我想它应该也适用于较旧的Windows版本。
由于某种原因,Get-NetTCPConnection的默认输出不包含进程ID,这有点令人困惑。然而,您总是可以通过格式化输出来获得它。您要查找的属性是OwningProcess。
如果要查找在端口443上侦听的进程的ID,请运行以下命令:PS C:\>获取NetTCPConnection-LocalPort 443 |格式列表本地地址:::本地端口:443RemoteAddress:::远程端口:0状态:听应用设置:拥有流程:4572创建时间:2016年11月2日21:55:43卸载状态:InHost将输出格式化为具有您查找的财产的表:PS C:\>获取NetTCPConnection-LocalPort 443 |格式表-属性LocalAddress、LocalPort、State、OwningProcess本地地址本地端口状态拥有进程------------ --------- ----- -------------::443听45720.0.0.0 443听4572如果要查找进程的名称,请运行以下命令:PS C:\>获取进程-Id(获取NetTCPConnection-LocalPort 443)。拥有进程处理NPM(K)PM(K)WS(K)CPU Id SI进程名称------- ------ ----- ----- ------ -- -- -----------143 15 3448 11024 4572 0 VisualSVNS服务器
其他回答
您还可以使用下面的命令检查保留的端口。例如,Hyper-V保留了一些端口。
netsh int ipv4 show excludedportrange protocol=tcp
如果运行以下命令,可以获得更多信息:
netstat -aon | find /i "listening" |find "port"
使用“查找”命令可以过滤结果。find/i“侦听”将仅显示“侦听”的端口。注意,您需要/i忽略大小写,否则您将键入find“LISTENING”。|查找“端口”将结果限制为仅包含特定端口号的端口。注意,在这一点上,它还将过滤响应字符串中任何位置具有端口号的结果。
Use:
netstat -a -o
这显示了在特定端口上运行的进程的PID。
记住进程ID,然后转到任务管理器和服务或详细信息选项卡,结束具有相同PID的进程。
因此,您可以在Windows中终止在特定端口上运行的进程。
打开命令提示符-start→ 跑→ cmd或开始菜单→ 所有程序→ 配件→ 命令提示符。类型netstat-aon|findstr'[port_number]'
将[port_number]替换为要检查的实际端口号,然后按Enter键。
如果任何应用程序正在使用该端口,那么将显示该应用程序的详细信息。显示在列表最后一列的数字是该应用程序的PID(进程ID)。请注意这一点。类型tasklist | findstr“[PID]”
用上述步骤中的数字替换[PID],然后按Enter键。
将显示使用端口号的应用程序名称。
使用以下工具:从cmd:C:\>netstat-anob,具有管理员权限。
进程管理
过程转储
端口监视器
全部来自sysinternals.com。
如果您只想了解每个进程下的进程运行和线程,我建议您学习wmic。这是一个很棒的命令行工具,它为您提供了比您所能知道的更多的信息。
例子:
c:\> wmic process list brief /every:5
上述命令将每5秒简要显示一个所有进程列表。要了解更多信息,您可以与/?例如,
c:\> wmic /?
c:\> wmic process /?
c:\> wmic prcess list /?
依此类推。:)
推荐文章
- 如何检查DLL依赖关系?
- Android-Facebook应用程序的键散列
- 如何在PowerShell中输出一些东西
- 如何在命令提示符中使用空格?
- 在Python中如何在Linux和Windows中使用“/”(目录分隔符)?
- 命令行从操作系统级配置中删除环境变量
- 在特定的文件夹中打开Cygwin
- 命令行svn for Windows?
- Gulp命令未找到-安装Gulp后错误
- 如何找到并运行keytool
- 我的Windows应用程序的图标应该包括哪些大小?
- 在Windows上设置Python simpleHTTPserver
- 如何从批处理文件运行PowerShell脚本
- 如何解决“java.net.BindException: Address already in use: JVM_Bind”错误?
- 增加Linux中TCP/IP连接的最大数量