本文目录导读:

扫描本机开放端口是网络诊断中非常常见的操作,根据你使用的操作系统(Windows、macOS 或 Linux)以及你希望使用的工具(图形界面或命令行),方法有所不同。
以下是几种最常用且有效的方法,从简单到专业排列:
使用命令行(最通用、无需安装)
这是检查本机端口最直接、最安全的方法。
Windows 系统:
使用 netstat 命令查看所有正在监听的端口。
- 步骤:
- 按
Win + R键,输入cmd,然后按Ctrl + Shift + Enter(以管理员身份运行,能看到更完整信息)。 - 在命令提示符中输入以下命令并回车:
netstat -ano | findstr LISTENING
-a:显示所有连接和监听端口。-n:以数字形式显示地址和端口号(不进行域名解析,速度更快)。-o:显示拥有该端口的进程 ID(PID)。| findstr LISTENING:只过滤出状态为“正在监听”的行。
- 按
- 结果解读: 你会看到类似
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 1234的信息,表示本机的 135 端口正在被 PID 为 1234 的进程监听。 - 补充: 如果想看到具体的进程名称(如 svchost.exe),可以后续使用
tasklist | findstr 1234来查询,或者直接使用netstat -b(需要管理员权限,速度较慢)。
macOS 或 Linux 系统:
使用 lsof(推荐)或 netstat。
-
使用
lsof(显示更清晰):sudo lsof -i -P | grep LISTEN
sudo:需要管理员权限才能看到所有进程。-i:显示网络连接。-P:禁用端口号到服务名的转换(直接显示端口数字)。| grep LISTEN:过滤出监听状态的连接。
-
使用
netstat(传统方法):sudo netstat -tulpn
-t:显示 TCP 端口。-u:显示 UDP 端口。-l:只显示监听中的端口。-p:显示进程 PID 和名称。-n:以数字形式显示。
使用专用端口扫描工具(功能更强大)
如果你需要图形界面,或者需要更精细的扫描(如扫描特定端口范围、检测端口服务版本),推荐以下工具。
Nmap(行业标准,跨平台)
Nmap 是最强大的网络扫描工具,但通常用于扫描远程主机,扫描本机时,建议使用特定的参数以避免触发 Windows 防火墙的拦截或导致误判。
- 安装: 从 nmap.org 下载安装。
- 扫描本机命令(在终端或命令提示符中运行):
# 扫描本机的所有 TCP 端口(需管理员权限) sudo nmap -sT -p- 127.0.0.1 # 或者扫描本机的局域网 IP(更准确) sudo nmap -sT -p 1-65535 localhost
-sT:TCP 连接扫描(速度较慢但准确)。-p-:扫描所有 65535 个端口。0.0.1或localhost:本机回环地址。
- 注意: Nmap 扫描本机时间可能较长,尤其扫描全部端口时,可以先指定一个常用范围,
-p 1-1024(系统保留端口)或-p 80,443,22,3389(特定服务)。
第三方图形化工具(适合不熟悉命令行的用户)
-
TCPView(Windows 官方工具,微软 Sysinternals 套件):
- 无需安装,直接下载运行。
- 实时显示所有 TCP/UDP 端口的连接状态、进程名、PID 等信息。
- 点击表头可以按端口号、状态排序,非常直观。
下载地址: 微软官网 TCPView
-
GlassWire(跨平台,带防火墙/流量监控):
- 有免费版,可以图形化显示哪个程序正在使用哪个端口。
- 适合日常监控,不仅仅是一次性扫描。
重要提示与安全说明
-
为什么扫描本机?
- 排查问题: 检查某个服务(如 Web 服务器 80 端口)是否启动成功。
- 安全审计: 确认没有意外的服务(如恶意软件打开的端口)在监听。
- 防火墙测试: 确认防火墙规则是否生效。
-
安全警告:
- 不要扫描他人网络: 未经明确授权扫描他人的 IP 或网络,在大多数国家和地区是非法的,属于网络攻击行为。
- 管理员权限: 大多数扫描本机端口的方法都建议使用管理员/root 权限,因为普通用户权限可能看不到系统核心进程的端口信息。
-
防火墙干扰:
- 如果你安装了第三方防火墙(如 Norton、McAfee)或 Windows 自带防火墙,某些扫描方式(尤其是 Nmap 的 SYN 半连接扫描
-sS)可能会被防火墙拦截,导致误报端口关闭,建议使用 TCP 全连接扫描(-sT)或直接使用netstat,因为它是直接从系统协议栈读取信息,不受防火墙影响。
- 如果你安装了第三方防火墙(如 Norton、McAfee)或 Windows 自带防火墙,某些扫描方式(尤其是 Nmap 的 SYN 半连接扫描
总结建议
- 最快捷(Windows): 打开命令提示符(管理员),输入
netstat -ano | findstr LISTENING。 - 最直观(Windows): 下载运行 TCPView。
- 最专业(Mac/Linux): 终端输入
sudo lsof -i -P | grep LISTEN或sudo netstat -tulpn。 - 深度扫描(跨平台): 安装 Nmap,但注意防火墙可能干扰结果。
选择哪种方法主要取决于你的目的:快速看一眼还是进行详细的审计,如果是维护日常使用,netstat 或 TCPView 足够了。
标签: 开放端口检测