PortQry是微软官方提供的一款TCP/IP连接「排障工具」,用来「检查」TCP/UDP「端口状态」。
平时检查端口状态,最常用的是telnet,但它是基于TCP协议的,无法检测「UDP端口」,这篇文章教大家如何在Windows系统上安装PortQry工具,并检查UDP端口是否开放。
PortQry
1、下载
微软官网下载 https://learn.microsoft.com/zh-cn/troubleshoot/windows-server/networking/use-portqry-verify-active-directory-tcp-ip-connectivity
跳转后点 Download
下载完是一个 PortQryV2.exe
2、安装
我有一个朋友,第一次下载后发现包名跟命令差不多,就直接敲命令去用,发现一直报参数错误,搞了了半天才发现这TM就是个安装包!!!
这里用Windows Server 2016安装,双击 PortQryV2.exe ,同意不平等条约。
Unzip 解压到指定目录
解压成功,关掉窗口。
解压目录下会多出3个文件。
3、检测端口状态
常用参数:
-n
指定目标IP或域名-p
指定协议,TCP或UDP,不指定默认使用TCP-e
指定端口
地址栏输入 cmd ,在当前路径打开 cmd
3.1、检测TCP80端口是否开放
测试一下百度的TCP80端口是否开放,一般的Web服务肯定是允许客户端访问的。
bash
PortQry.exe -n www.baidu.com -e 80
LISTENING 表示端口开放。
3.2、检查UDP端口是否开放
再测试一下百度的UDP514端口是否开放,一般的Web服务是不需要开放514的,即使开了,也会用设可信IP,禁止终端访问。
bash
PortQry.exe -n www.baidu.com -p udp -e 514
LISTENING or FILTERED ,说明端口没开;或者端口开了,但是被过滤了。这种情况通常是网络限制,要在墙上开策略。
最后,简单总结一下工具的探测原理:
- UDP端口「开放」时,PortQury收到端口对应服务返回的应用信息,结果显示LISTENING。
- UDP端口「关闭」时,PortQury收到ICMP返回的目标无法访问消息,结果显示NOLISTENING。
- 被防火墙「过滤」时,收不到ICMP报文,也收不到应用响应的信息,结果显示LISTENING or FILTERED。