下面我将为你详细介绍在不同操作系统下如何使用 Nmap 以及其他一些方法。

核心命令:使用 Nmap (强烈推荐)
Nmap (Network Mapper) 是一款开源的网络探测和安全审核工具,功能非常强大,它不仅能扫描端口,还能检测操作系统、服务版本等信息。
安装 Nmap
在 Windows 上:
- 访问 Nmap 官网下载页面。
- 下载适用于 Windows 的安装包(通常是
.exe文件)。 - 运行安装程序,按照提示完成安装,安装后,
nmap命令就可以在命令提示符 (CMD) 或 PowerShell 中使用了。
在 Linux (如 Ubuntu/Debian) 上: 打开终端,运行以下命令:
sudo apt update sudo apt install nmap
在 macOS 上 (使用 Homebrew):

- 如果尚未安装 Homebrew,请先访问 brew.sh 按照说明安装。
- 在终端中运行:
brew install nmap
常用的 Nmap 查询端口命令
假设你想扫描的 IP 地址是 168.1.100。
基础扫描:扫描最常见的 1000 个端口
这是最常用、最快的扫描方式,适用于大多数日常检查。
nmap 192.168.1.100
或者
nmap -F 192.168.1.100
-F(Fast) 表示快速扫描,只扫描 Nmap 默认的 100 个最常用端口。
输出示例:
Starting Nmap 7.92 ( https://nmap.org ) at 2025-10-27 10:30 CST
Nmap scan report for 192.168.1.100
Host is up (0.0020s latency).
Not shown: 996 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
Nmap done: 1 IP address (1 host up) scanned in 1.15 seconds
open: 端口开放,并且有服务正在监听。closed: 端口可访问,但没有服务在监听。filtered: 端口被防火墙或其他网络设备阻挡,Nmap 无法确定其状态。
全端口扫描:扫描所有 65535 个端口
如果你想了解一个 IP 开放了所有的端口,可以使用这个命令。注意:扫描时间会很长。
nmap -p- 192.168.1.100
-p-是-p 1-65535的简写,表示扫描所有端口。
扫描指定端口
如果你只想检查几个特定的端口,80 (HTTP) 和 443 (HTTPS):
nmap -p 80,443 192.168.1.100
更详细的扫描 (推荐)
这个命令不仅能告诉你端口是否开放,还会尝试识别端口号对应的服务名称、版本以及操作系统信息,对于安全审计非常有用。
nmap -sV -O 192.168.1.100
-sV: 探测开放端口上运行的服务和版本号。-O: 启用操作系统检测。
扫描 IP 地址段
如果你想扫描一个网段内所有主机的特定端口(查找所有开启 22 端口的 SSH 服务器):
nmap -p 22 192.168.1.1-254
扫描主机名
你也可以使用域名代替 IP 地址:
nmap www.google.com
其他方法 (Nmap 的替代或补充)
使用 PowerShell (Windows 内置)
在 Windows 10/11 的 PowerShell 中,你可以使用 Test-NetConnection cmdlet,它功能比 Nmap 简单,但无需安装任何东西。
基本语法:
Test-NetConnection <IP地址> -Port <端口号>
示例:
检查 IP 168.1.100 的 80 端口是否开放:
Test-NetConnection 192.168.1.100 -Port 80
输出示例:
ComputerName : 192.168.1.100
RemoteAddress : 192.168.1.100
RemotePort : 80
SourceAddress : 192.168.1.101
TcpTestSucceeded : True
TcpTestSucceeded : True表示端口连通(开放)。TcpTestSucceeded : False表示端口不连通(可能关闭或被过滤)。
缺点: 每次只能检查一个端口,无法像 Nmap 那样进行批量或全端口扫描。
使用 Telnet (Linux/macOS/Windows)
这是一个非常古老但简单的工具,可以用来测试指定 IP 和端口的 TCP 连通性。
在 Windows 上使用:
- 可能需要手动启用 "Telnet 客户端",在 "控制面板" -> "程序" -> "启用或关闭 Windows 功能" 中勾选它。
- 打开命令提示符,输入:
telnet <IP地址> <端口号>
telnet 192.168.1.100 80
- 如果连接成功,屏幕会变黑并显示一些乱码,表示端口开放,如果连接失败,会提示 "正在连接..." 然后超时,返回错误信息。
在 Linux/macOS 上使用: 直接在终端输入:
telnet <IP地址> <端口号>
telnet 192.168.1.100 22
- 注意: Telnet 传输的数据是明文,不安全,现在已很少用于实际连接,多用于快速测试端口连通性。
总结与建议
| 工具/命令 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| Nmap | 功能最强大,支持全端口、服务版本、OS检测等多种扫描方式,是行业标准。 | 需要单独安装(Windows上)。 | 首选方案,适用于任何深度的端口扫描和安全审计。 |
| PowerShell Test-NetConnection | Windows 系统自带,无需安装,使用简单。 | 功能有限,一次只能测试一个端口,信息少。 | 快速、临时的单端口连通性检查。 |
| Telnet | 几乎所有系统都有,非常简单。 | 功能单一,只测试TCP,且不安全。 | 最基础的、临时的端口连通性“手动”测试。 |
给你的建议:
- 如果你是普通用户或需要进行简单的检查:可以直接在 Windows 上安装 Nmap,使用
nmap <IP>命令就足够了。 - 如果你是系统管理员或安全研究人员:Nmap 是你必不可少的工具,务必熟练掌握其各种参数(如
-sV,-O,-p-等)。 - 如果你只是想快速看一眼某个特定端口通不通:在 Windows 上用
Test-NetConnection,在 Linux/macOS 上用telnet都很方便。
