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

操作环境:windows

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

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

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

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

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

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

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

按照下面的步骤:

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

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

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

 

命令详解:

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

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

使用命令 tasklist|findstr "2876"

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

 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,出现如下信息说明端口不通

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

 

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值