欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

如何在windows下查看端口被哪个进程占用及端口是否通畅(可访问)?

程序员文章站 2022-07-08 20:04:09
...

操作环境:windows

在进入本文前,先思考以下几个问题:

1. 如何查看端口使用情况?

2. 如何查看指定端口使用情况?

3. 如何查看端口对应的进程ID(即PID)?

4. 如何根据PID查看是哪个程序占用了端口?

5. 如何查看某个ip地址的端口是否通畅(可访问)?

Windows提供了netstat命令,能够显示当前的 TCP/IP 网络连接情况,注意:只有安装了TCP/IP协议,才能使用netstat命令。 

按照下面的步骤:

1. 开始---->运行---->cmd,或者是window+R组合键,调出命令窗口

如何在windows下查看端口被哪个进程占用及端口是否通畅(可访问)?

2. 查看所有端口使用情况

使用命令netstat -ano 该命令显示了端口使用情况 ip地址以及进程pid和端口状态等

 如何在windows下查看端口被哪个进程占用及端口是否通畅(可访问)?

命令详解:

NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [interval]

  -a            显示所有连接和侦听端口。
  -b            显示在创建每个连接或侦听端口时涉及的可执行程序。
                在某些情况下,已知可执行程序承载多个独立的
                组件,这些情况下,显示创建连接或侦听端口时涉
                及的组件序列。此情况下,可执行程序的名称
                位于底部[]中,它调用的组件位于顶部,直至达
                到 TCP/IP。注意,此选项可能很耗时,并且在您没有
                足够权限时可能失败。
  -e            显示以太网统计。此选项可以与 -s 选项结合使用。
  -f            显示外部地址的完全限定域名(FQDN)。
  -n            以数字形式显示地址和端口号。
  -o            显示拥有的与每个连接关联的进程 ID。
  -p proto      显示 proto 指定的协议的连接;proto 可以是下列任
                何一个: TCP、UDP、TCPv6 或 UDPv6。如果与 -s 选
                项一起用来显示每个协议的统计,proto 可以是下列任
                何一个: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP
                或 UDPv6。
  -r            显示路由表。
  -s            显示每个协议的统计。默认情况下,显示
                IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6
                的统计;-p 选项可用于指定默认的子网。
  -t            显示当前连接卸载状态。
  interval      重新显示选定的统计,各个显示间暂停的间隔秒数。
                按 CTRL+C 停止重新显示统计。如果省略,则 netstat
                将打印当前的配置信息一次。

 

端口状态解释:

LISTENING时表示处于侦听状态,就是说该端口是开放的,等待连接,但还没有被连接。就像你房子的门已经敞开的,但还没有人进来。

ESTABLISHED的意思是建立连接。表示两台机器正在通信。

CLOSE_WAIT 对方主动关闭连接或者网络 异常导致连接中断

TIME_WAIT我方主动调用close()断开连接,收到对方确认后状态变为TIME_WAIT

3. 如何查看指定端口9200的使用情况以及其对应进程

使用命令:netstat -ano|findstr "9200"

图中可以看到端口9200的已被占用,并且占用该端口的进程的id为2876

如何在windows下查看端口被哪个进程占用及端口是否通畅(可访问)?

4. 根据步骤三种的进程ID 2876 查看是哪个程序占用的

使用命令 tasklist|findstr "2876"

发现是进程名为CLodopPrint32.exe在使用

如何在windows下查看端口被哪个进程占用及端口是否通畅(可访问)?

 5. 如何查看某个ip地址的端口是否通畅(可访问)?

使用telnet命令(如果该命令无法使用请在windows功能界面开启)

下面是命令详解

C:\Users\Administrator>telnet -h

telnet [-a][-e escape char][-f log file][-l user][-t term][host [port]]
 -a      企图自动登录。除了用当前已登陆的用户名以外,与 -l 选项相同。
 -e      跳过字符来进入 telnet 客户端提示。
 -f      客户端登录的文件名
 -l      指定远程系统上登录用的用户名称。
         要求远程系统支持 TELNET ENVIRON 选项。
 -t      指定终端类型。
         支持的终端类型仅是: vt100, vt52, ansi 和 vtnt。
 host    指定要连接的远程计算机的主机名或 IP 地址。
 port    指定端口号或服务名。

C:\Users\Administrator>

执行命令telnet 172.0.0.1 80001,出现如下信息说明端口不通

如何在windows下查看端口被哪个进程占用及端口是否通畅(可访问)?

执行命令telnet 10.10.7.83 6089出现如下信息说明端口6089是通的

 

如何在windows下查看端口被哪个进程占用及端口是否通畅(可访问)?

 


如何在windows下查看端口被哪个进程占用及端口是否通畅(可访问)?

 

相关标签: netstat telnet