必须明确区分“端口监听状态”与“端口连通性”两个维度。端口监听是服务端程序在本地开启的等待连接状态,而端口连通性则受防火墙、安全组等网络策略控制。 完整的端口查看流程,应遵循“本地监听查看本地防火墙确认云平台安全组核查公网连通性测试”的闭环路径,只有当这四个环节全部打通,服务器的公网端口才能真正对外提供服务。

本地监听状态查看:确认服务是否启动
在排查公网端口问题前,首要任务是确认服务器内部的服务进程是否已经正常启动并处于监听(Listening)状态,这是端口查看的基石,若服务未启动,后续的所有网络排查均无意义。
Linux系统查看方法
Linux系统是服务器市场的主流,其端口查看工具丰富且高效。
使用 netstat 命令: 这是经典的网络统计工具。
执行命令:netstat -tunlp
参数解析:-t显示TCP端口,-u显示UDP端口,-n以数字形式显示地址和端口,-l仅显示监听套接字,-p显示进程标识符和程序名称。
重点关注“Local Address”列下的端口号及“State”列是否为LISTEN。 若看到0.0.0:80,表示服务监听在所有网卡的80端口上;若显示0.0.1:80,则表示仅监听本地回环地址,外部无法直接访问。使用 ss 命令: 作为netstat的现代替代品,ss命令速度更快,能直接从内核获取信息。
执行命令:ss -tunlp
输出结果与netstat类似,但效率更高,建议优先使用。使用 lsof 命令: 适合查找特定端口被哪个进程占用。
执行命令:lsof -i :端口号
此命令能精准定位端口冲突问题,当发现端口被非预期程序占用时,可快速介入处理。
Windows系统查看方法
对于使用Windows Server的用户,图形化界面与命令行工具同样重要。
- 使用 netstat 命令:
以管理员身份运行CMD或PowerShell,执行:netstat -ano
查看结果中“状态”为LISTENING的行。“本地地址”列会显示IP和端口,PID列显示进程ID。 通过任务管理器的“详细信息”选项卡,匹配PID即可找到具体的服务程序。
本地防火墙策略核查:解除内部封锁
确认端口处于监听状态后,服务器操作系统内部的防火墙往往是阻碍公网访问的第一道屏障,很多情况下,服务已启动,但被本地防火墙拦截。
Linux防火墙配置
Linux发行版通常默认开启防火墙(如firewalld或iptables)。

Firewalld(CentOS 7+):
查看开放端口:firewall-cmd --list-ports
开放端口:firewall-cmd --zone=public --add-port=80/tcp --permanent
重载配置:firewall-cmd --reload
必须注意--permanent参数,否则重启后规则失效。Iptables(Ubuntu/CentOS 6):
查看规则:iptables -L -n
需检查INPUT链是否允许目标端口的数据包进入。
Windows防火墙配置
Windows Server的防火墙设置在“高级安全Windows Defender防火墙”中。
需检查“入站规则”是否包含允许特定端口通过的规则。建议新建规则,明确指定TCP/UDP协议及端口号,并允许连接。 临时关闭防火墙虽可测试连通性,但在生产环境中极度危险,严禁操作。
云平台安全组配置:公网访问的关键闸门
随着云计算的普及,绝大多数服务器部署在阿里云、腾讯云、AWS等云平台上。云服务商提供的安全组是独立于服务器操作系统的虚拟防火墙,其优先级极高。 即使服务器内部防火墙放行,若安全组未配置,公网依然无法访问。
安全组规则检查
登录云服务器管理控制台,找到目标实例的“安全组”设置。
- 方向选择: 必须配置“入方向”规则。
- 授权策略: 选择“允许”。
- 端口范围: 精确填写需要开放的端口号,如
80或3306,若需开放端口段,需遵循平台格式,如8000/9000。 - 授权对象: 若需对所有人开放,填
0.0.0/0;若为了安全,应仅允许特定IP地址段访问。
优先级设置
安全组规则存在优先级,数值越小优先级越高。确保放行规则的优先级高于拒绝规则。 部分平台默认安全组可能仅开放SSH(22)或RDP(3389)端口,Web服务端口需手动添加。
公网连通性测试:验证最终结果
完成上述配置后,需从外部网络视角进行验证,这是确认服务器公网端口如何查看的最终步骤。
使用在线检测工具

互联网上有众多“端口扫描”或“端口检测”网站,输入服务器的公网IP地址和目标端口,点击检测,若显示“Open”或“开放”,则配置成功;若显示“Closed”或“Filtered”,则需回溯检查安全组或本地防火墙。
使用 Telnet 命令
在本地电脑的命令行中,使用Telnet工具进行测试。
命令格式:telnet 公网IP 端口号telnet 192.168.1.1 80
若界面跳转为黑屏或显示Connected,表示端口通畅,若提示连接失败或超时,则说明网络链路中仍存在阻断。
使用 Nmap 工具
对于专业运维人员,Nmap是更强大的工具。
命令:nmap 公网IP -p 端口号
Nmap不仅能判断端口开放状态,还能识别端口运行的服务版本,有助于排查服务配置错误。
常见误区与专业建议
在实际运维中,仅掌握命令是不够的,还需具备独立的排查思维。
- 监听地址错误。 服务程序若仅监听
0.0.1,即便防火墙全开,公网也无法访问。必须确保服务监听在0.0.0或具体的内网IP上。 - 端口冲突。 启动新服务前,务必使用
ss或netstat检查端口占用情况,避免因端口冲突导致服务启动失败。 - 专业建议:最小化权限原则。 在查看和开放端口时,切勿图省事开放所有端口(1-65535)。仅开放业务必需的端口,并限制访问来源IP,这是保障服务器安全的核心策略。
相关问答
问:为什么服务器内部显示端口在监听,安全组也开放了,但公网依然无法访问?
答:这种情况通常有三个原因,第一,检查服务器内部是否有第三方安全软件(如宝塔面板、安全狗)拦截了端口,需在软件面板内放行,第二,检查服务程序绑定的监听地址是否为127.0.0.1,若是,需修改配置文件绑定0.0.0.0,第三,云平台可能存在网络ACL(访问控制列表),其优先级可能高于安全组,需检查是否设置了拒绝规则。
问:如何查看服务器当前有哪些端口正在被连接?
答:在Linux系统中,可以使用netstat -tun或ss -tun命令,不使用-l参数即可查看已建立的连接,关注“State”列为ESTABLISHED的行,这些代表当前活跃的连接,通过分析这些连接,可以发现异常的访问行为或排查连接数过多的问题。
如果您在查看服务器公网端口的过程中遇到其他疑难杂症,欢迎在评论区留言讨论。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复