暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Windows 如何查看端口被哪个程序占用

生有可恋 2022-11-05
1938

网络通信依赖于本地的端口服务,当端口被占用时程序会报错。Windows 下的端口排查过程与linux类似,先通过 netstat 网络会话定位进程ID,再通过进程ID定位进程信息。

    c:\> netstat -anop tcp | findstr 1080
      TCP  0.0.0.0:1080 0.0.0.0:0 LISTENING  28608

    最后一列是进程号,通过进程号可以定位进程。

      c:\> tasklist | findstr 28608
      python.exe 28608 Console 1 20,600 K

      如果安装了微软的 sysinternal 工具包,可以使用 pslist 定位进程。

        c:\> pslist -x 28608
        Name Pid VM WS Priv Priv Pk Faults NonP Page
        python 28608 4194303 20600 11844 12064 5439 14 136


        Tid Pri Cswtch State User Time Kernel Time Elapsed Time
        20560 10 915 Wait:UserReq 0:00:00.046 0:00:00.078 0:06:44.415

        pslist 可以查看更多进程信息,显示CPU时间、内存占用。

        命令行版本的程序相对图形化的工具来说,显得太简陋。微软 sysinternal 工具包中的另外两款图形化工具也能胜任这项工作,它们是 tcpview 和 procexp

        tcpview 可以通过过滤快速定位端口和进程ID :

        然后再通过 procexp 定位进程查看更多进程信息,procexp 只支持通过进程名称过滤。

        通过 procexp 可以查看进程属性,这里可以查看到进程的所有网络会话。

        以上例子不太明显,我们以向日葵终端为例,可以查看进程的所有网络会话,这在设置防火墙规则时非常有帮助。

        procexp 除了可以用来查看进程详细信息,还可以代替任务管理器,它可以对系统资源进行监控,比如查看 IO 占用、网络吞吐量:

        sysinternal 工具包下载地址:

        • https://learn.microsoft.com/en-us/sysinternals/


        全文完。

        如果转发本文,文末务必注明:“转自微信公众号:生有可恋”。

               

        文章转载自生有可恋,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

        评论