如何远程查看服务器的端口开放状态?
- 云服务器
- 2026-01-03
- 8
在管理和维护远程服务器时,查看端口状态是一项基础且重要的操作,端口是服务器与外部通信的“门户”,通过检查端口可以确认服务是否正常运行、是否存在安全风险,或排查网络连接问题,本文将详细介绍如何通过多种方式查看远程服务器的端口状态,包括命令行工具、图形化界面以及第三方软件,并附上实际操作示例和注意事项。
使用命令行工具查看远程服务器端口
命令行工具是服务器管理中最常用的方式,高效且灵活,以下是几种主流的命令行方法:
Telnet命令
Telnet是一种传统的网络协议,可用于测试远程服务器的指定端口是否可达,虽然其数据传输未加密,安全性较低,但在快速排查端口连通性时仍非常实用。
操作步骤:
在本地终端输入 telnet [服务器IP] [端口号],telnet 192.168.1.100 80。
- 如果端口开放,会显示黑屏或“Connected to…”提示,表示与服务器的TCP连接已建立。
- 如果端口关闭或无法访问,会提示“Connecting Failed…”或“Connection refused”。
注意事项:
- 部分Linux系统默认未安装Telnet,需通过 yum install telnet(CentOS)或 apt install telnet(Ubuntu)安装。
- Telnet仅支持TCP协议,无法检测UDP端口。
Nmap命令
Nmap(Network Mapper)是端口扫描的“神器”,功能强大,支持多种扫描方式(如TCP SYN、UDP、FIN等),不仅能检测端口开放状态,还能获取服务版本、操作系统信息等。
基础语法:
nmap sT [服务器IP](全连接TCP扫描,较慢但准确)
nmap sS [服务器IP](TCP SYN扫描,需root权限,速度快且隐蔽)
nmap p [端口号] [服务器IP](扫描指定端口,如 p 80,443 192.168.1.100)
nmap sU [服务器IP](扫描UDP端口)
示例输出:
PORT STATE SERVICE 80/tcp open http 443/tcp open https 22/tcp closed ssh
注意事项:
- 扫描前需确保目标服务器允许来自本机的访问,否则可能被防火墙拦截。
- 高频扫描可能触发服务器的安全警报,建议在非业务高峰期进行。
Netcat(nc)命令
Netcat被称为“网络工具中的瑞士军刀”,通过TCP/UDP连接测试端口状态。
操作步骤:
- 测试TCP端口:nc zv [服务器IP] [端口号](z表示扫描模式,v显示详细信息)。
- 测试UDP端口:nc u zv [服务器IP] [端口号]。
示例输出:

注意事项:
- 部分系统(如macOS)的Netcat命令为 nc,而Linux可能为 netcat,需根据实际情况调整。
PowerShell(Windows系统)
在Windows客户端,可通过PowerShell的TestNetConnection模块测试远程端口。
语法:
TestNetConnection ComputerName [服务器IP] Port [端口号]
示例输出:
TcpTestSucceeded : True RemoteAddress : 192.168.1.100 RemotePort : 80
使用图形化工具查看远程服务器端口
对于不习惯命令行的用户,图形化工具提供了更直观的操作方式。
Advanced IP Scanner
这是一款免费的Windows网络扫描工具,可快速局域网内主机的端口状态。
操作步骤:

- 输入服务器IP地址范围,点击“扫描”。
- 在结果中找到目标主机,查看“端口”列勾选的端口(表示开放)。
Nmap GUI(如Nmapsiula)
Nmap的图形化前端,支持参数配置和结果导出,操作与命令行版Nmap一致,但界面更友好。
ZOC Terminal
一款专业的终端模拟器,支持SSH/Telnet连接,内置端口扫描功能,可通过“工具”菜单启动扫描。
通过服务器自身工具查看端口状态
若需直接在远程服务器上查看端口状态,可使用以下命令:
Linux系统
- netstat:
netstat tuln(t显示TCP端口,u显示UDP端口,l仅显示监听端口,n以数字形式显示地址)。
- ss(替代netstat,更快):
ss tuln
- lsof(查看端口进程占用):
lsof i :[端口号](如 lsof i :80)。
Windows系统
- netstat:
netstat ano(a显示所有端口,n数字形式,o显示进程ID)。
- GetNetTCPConnection(PowerShell):
GetNetTCPConnection LocalPort [端口号]。
常见问题与注意事项
- 端口扫描被拒绝怎么办?
可能是服务器防火墙(如iptables、firewalld)或安全组(云服务器)规则拦截了扫描请求,需检查防火墙配置,允许来自扫描IP的访问。
- 如何区分端口开放和过滤?
- 开放:Nmap显示“open”,可直接通信。
- 过滤:Nmap显示“filtered”,可能是防火墙阻止了扫描,需进一步排查。
相关问答FAQs
问题1:为什么使用Telnet连接端口时提示“Connection refused”?
解答:“Connection refused”表示目标端口未开放或服务器未监听该端口,需确认:
- 服务是否已启动(如Apache、Nginx)。
- 服务器防火墙是否允许该端口入站。
- 端口号是否正确输入(如HTTP默认80,HTTPS默认443)。
问题2:如何查看远程服务器上某个端口被哪个进程占用?
解答:
- Linux:使用 lsof i :[端口号],lsof i :80,会显示进程ID(PID)和进程名。
- Windows:使用 netstat ano | findstr "[端口号]",最后一列为PID,再通过 tasklist | findstr "[PID]" 查看进程名。
