详细介绍:【网络】测试 IP 端口连通性方法总结
2025-10-24 19:33 tlnshuju 阅读(5) 评论(0) 收藏 举报
 测试 IP 端口连通性方法总结
  
ping 命令本身使用的是 ICMP 协议,它只能测试到 IP 地址的连通性,无法检测特定端口的状态。
要检查 IP 地址的特定端口是否开放,需要使用其他工具。最常用和简单的方法是使用 telnet 命令,或者在 Windows 上使用更现代的 Test-NetConnection PowerShell 命令。
1.使用 Telnet(Windows / Linux / macOS)
Telnet 是通用的方法,但可能需要先安装。
1.1 在 Windows 上使用 Telnet
a. 首先,确保启用 Telnet 客户端(默认可能未安装):
- 打开 “控制面板” → “程序” → “程序和功能” → “启用或关闭 Windows 功能”。
- 在列表中找到并勾选 “Telnet 客户端”,然后点击 “确定” 进行安装。

b. 使用方法:
打开命令提示符(CMD)或 PowerShell,输入:
telnet  <端口号> 示例:测试 192.168.1.1 的 80 端口(HTTP)
telnet 192.168.1.1 80结果判断:
- 连接成功:屏幕会变黑,只显示一个闪烁的光标,或者显示一些连接信息。这表示该端口是开放的。 
 - 按 Ctrl + ],然后输入quit来退出。
 
- 按 
- 连接失败:如果显示类似 “正在连接...无法打开到主机的连接。在端口 80:连接失败” 或需要等待一段时间后报错,则表示该端口是关闭的或无法访问。
1.2 在 Linux 或 macOS 上使用 Telnet
a. 安装(如果尚未安装):
- Ubuntu/- Debian:- sudo apt install telnet
- CentOS/- RHEL:- sudo yum install telnet
- macOS:通常已预装。
b. 使用方法:
与 Windows 相同,在终端中执行:
telnet <IP地址> <端口号>

您看到的 Escape character is '^]'. 信息是 Telnet 客户端 的正常提示!
看到这行提示,意味着您指定的 IP 地址和端口是开放的,并且可以正常建立 TCP 连接。
目标服务器上的服务(如 Web 服务器、数据库等)正在该端口上监听,并且接受了您的连接请求。
如果你想退出这个连接,可以输入这个转义序列。
Escape character(转义字符): 指的是Ctrl + ](先按住Ctrl键,再按右方括号键])。
'^]': 是Ctrl + ]的显示方式。
接下来您现在有几个选择:
1.直接退出(最常用的做法)
既然已经验证了端口是通的,通常直接退出即可。
- 按下转义字符:Ctrl + ](同时按住Ctrl键和]键)。
- 你会看到提示符变为 telnet>。
- 在 telnet>提示符后输入quit或q,然后按回车,即可完全退出 Telnet。
 在 Windows 上,直接关闭命令行窗口也可以。telnet> quit
2.发送一个简单的协议命令进行进一步测试(可选)
如果您连接的是已知协议的服务(如 HTTP、SMTP),可以尝试发送一个命令看看服务是否正常响应。
例如,如果您测试的是 HTTP 端口(80 或 443):
在出现 Escape character is '^]'. 后,输入以下命令然后按两次回车:
GET / HTTP/1.1
Host: example.com
[按两次回车]您可能会看到服务器返回的 HTTP 响应头和一些 HTML 代码。

例如,如果您测试的是 SMTP 端口(25):
服务器通常会先发送一个欢迎标语。您也可以输入 QUIT 来优雅地结束会话。
3.什么都不做,等待连接超时
如果您不进行任何操作,一段时间后(通常是几分钟),服务器可能会主动断开连接,或者 Telnet 客户端会因超时而退出。
2.使用 PowerShell(推荐用于 Windows)
PowerShell 的 Test-NetConnection 命令功能更强大,且无需额外安装。
1.打开 PowerShell。
2.输入以下命令:
Test-NetConnection -ComputerName <IP地址> -Port <端口号>示例: 测试 8.8.8.8 的 53 端口(DNS)
Test-NetConnection -ComputerName 8.8.8.8 -Port 53结果判断:
- 查看输出中的 TcpTestSucceeded字段:- True:端口开放。
- False:端口关闭或超时。
 

3.使用 nc 命令(Linux / macOS 或 Windows Subsystem for Linux)
nc(netcat)被称为 “网络瑞士军刀”,非常强大。
在终端中执行:
nc -zv <IP地址> <端口号>- -z: 扫描模式,不发送任何数据。
- -v: 详细输出。
示例: 测试 example.com 的 443 端口(HTTPS)
nc -zv example.com 443结果判断:
- 成功:显示 succeeded!或connected。
- 失败:显示 failed: Connection refused或超时。

4.总结
| Windows | Test-NetConnection | Test-NetConnection -ComputerName 8.8.8.8 -Port 53 | TcpTestSucceeded: True | 
| Windows / Linux / macOS | telnet | telnet 192.168.1.1 80 | 屏幕变黑 / 显示连接信息 | 
| Linux / macOS | nc | nc -zv example.com 443 | 输出 succeeded! | 
 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号