使用 PortQry 命令行工具 - Windows Server | Microsoft Learn
什么是 PortQry?
PortQry 是一款由微软开发的命令行工具,主要用于检查网络上的主机或服务器的端口状态。它能够帮助网络管理员、系统管理员或安全专家快速检测某台计算机或设备的端口是否打开、关闭或被防火墙过滤。
PortQry 通过发送特定的请求(比如 TCP 或 UDP 协议的 SYN 或查询包)到目标主机的指定端口,返回端口的响应信息,帮助判断端口的状态。
PortQry的主要功能:
- 端口扫描: 可以查询远程计算机的TCP、UDP端口的开放状态。
- 协议检测: 支持 TCP、UDP、或者两者的检查,允许用户指定具体的协议类型。
- 端口范围查询: 支持对端口范围进行扫描,用户可以选择一个端口范围来检查哪些端口开放。
- 过滤器支持: 能够帮助判断某个端口是否被防火墙或其他网络安全设备阻止。
- 本地端口和进程关联: 通过本地模式,PortQry可以显示本机上所有活动端口和相关的进程信息。
PortQry的工作原理:
PortQry 使用 TCP 和 UDP 协议发送请求到目标端口并接收响应,以确定端口的状态。具体的工作流程如下:
- 发送请求: 根据用户提供的参数,PortQry 会向目标主机的指定端口发送一个探测包。例如,在 TCP 模式下,它会发送一个 SYN 包。
- 获取响应: 如果目标端口开放,服务器会返回一个响应包(如 TCP 的 SYN-ACK)。如果端口关闭,它可能会返回一个 RST 包,或者根本没有响应(尤其是在 UDP 协议下)。
- 返回结果: 根据收到的响应或无响应情况,PortQry 会将结果返回给用户。结果通常包括端口的状态,例如“Listening”(监听中)、"Filtered"(被过滤)或 "Closed"(关闭)等。
PortQry的常见用途:
- 故障排除: 通过检查端口是否开放,可以帮助排查网络连接问题。例如,检查防火墙或路由器是否阻止了特定的端口。
- 安全性检测: 可以扫描外部或内部主机的端口,确保没有不必要的端口暴露在互联网上,减少潜在的攻击面。
- 网络监控: 它能够帮助管理员监控目标主机上的端口状态变化,确保关键服务的端口始终开放并可访问。
PortQry的工作示例:
-
查询指定端口状态:
bashCopy Codeportqry -n 192.168.1.1 -e 80
这个命令会检查 IP 地址
192.168.1.1
上的 80 端口(通常是 HTTP 服务)的状态。 -
查询端口范围:
bashCopy Codeportqry -n 192.168.1.1 -r 80:90
这个命令会检查 IP 地址
192.168.1.1
上从 80 到 90 的端口范围的状态。 -
检查UDP端口状态:
bashCopy Codeportqry -n 192.168.1.1 -e 53 -p UDP
这个命令会检查 IP 地址
192.168.1.1
上的 UDP 53 端口(通常是 DNS 服务)的状态。
PortQry的优势:
- 简单易用: 作为命令行工具,PortQry 相对简单直观,适合快速查询端口状态。
- 多协议支持: 支持 TCP、UDP 协议,能够适应多种网络环境。
- 端口范围扫描: 能够扫描单个端口,也可以扫描一个端口范围,适合不同规模的网络测试。
- 详细的结果输出: 输出信息通常很详细,可以帮助用户明确端口的具体状态。
PortQry的局限性:
- 依赖网络响应: 如果目标主机上的防火墙或安全设备过滤了探测请求,PortQry 可能无法返回准确的结果。
- 不支持复杂的协议分析: 虽然可以检查端口状态,但它不具备进行深入的协议分析(如 HTTP 请求内容解析等)功能。
- 适用于Windows环境: PortQry 主要设计用于 Windows 系统,尽管可以通过 Wine 或其他工具在 Linux 上运行,但原生支持的操作系统是 Windows。
总结:
PortQry 是一款非常实用的网络诊断工具,适用于检查网络端口的开放性和状态,帮助用户排查连接问题、确保网络安全和维护网络基础设施。它在故障排除、端口扫描和网络安全测试中都有广泛的应用。
PortQry版本 2.0显示TCP和UDP端口的状态 命令行模式:
交互模式:
本地模式:
命令行模式:
命令行模式选项说明:
注意:
示例:
交互模式:作为命令行模式的替代方式使用。
获取交互模式帮助:
示例:
本地模式:用于获取本地系统端口的详细数据。
本地模式选项说明:
注意:
示例:
|
PortQry version 2.0 Displays the state of TCP and UDP ports
Command line mode: portqry -n name_to_query [-p protocol] [-e || -r || -o endpoint(s)] [-q] Command line mode options explained: Notes: PortQry runs on Windows 2000 and later systems examples:
Used as an alternative to command line mode portqry -i [-options] For help with Interactive mode options: example:
Local Mode used to get detailed data on local system's ports portqry -local | -wpid pid | -wport port [-wt seconds] [-l logfile] [-v] Local mode options explained: -wport [port_number] watches specified port -wpid [process_ID] watches specified process ID (PID) -wt [seconds] watch time option -l [logfile] name of text log file to create Notes: PortQry runs on Windows 2000 and later systems examples: |