Linux 怎么测试端口是否开放?

19次阅读

端口检测需分三步:先用 ss 或 netstat 查本地监听,再用 telnet、nc 或 curl 测外部连通性,最后检查 firewalld、UFW 或 iptables 防火墙规则是否放行。

Linux 怎么测试端口是否开放?

直接看 端口 有没有在监听,再确认它能不能从外面连上,两步缺一不可。

查本机端口是否在监听

ssnetstat 查本地有没有程序正在等连接:

  • ss -tuln —— 显示所有 TCP/UDP 监听端口,不解析域名,结果干净易读
  • netstat -tuln —— 功能类似,老系统更常见,CentOS 7+ 需先装 net-tools
  • -p 参数(如 ss -tunlp)能看到哪个进程占着端口,PID 也一起显示,方便定位
  • 想查具体端口,比如 3306,就加 | grep :3306 过滤

测端口对外是否可访问

监听只是第一步,防火墙、安全组、网络策略都可能拦住外部访问。得从别的机器或本机模拟外部请求:

  • telnet IP 端口 —— 连上了说明通,卡住或报“Connection refused”要分情况:拒绝是服务没起,超时多半是被墙了
  • nc -zv IP 端口 —— 更轻量,-z 表示只探测不传数据,-v 显示详细结果,返回“succeeded”就是通的
  • curl http://IP: 端口 —— 适合 HTTP 类服务,有响应体或 状态码(如 200)才算真正可用

检查防火墙有没有放行

即使服务在监听,没过防火墙照样连不上。不同发行版命令不一样:

Linux 怎么测试端口是否开放?

雾象

WaytoAGI 推出的 AI 动画生成引擎

Linux 怎么测试端口是否开放? 1708

查看详情 Linux 怎么测试端口是否开放?

  • firewalld(CentOS/Rocky):firewall-cmd --list-ports 看已开放端口;firewall-cmd --add-port=8080/tcp --permanent && firewall-cmd --reload 开新端口
  • UFW(Ubuntu):ufw status 查状态;ufw allow 8080/tcp 放行
  • iptables(通用):iptables -nL 看规则;加一条 -A INPUT -p tcp --dport 8080 -j ACCEPT 再保存生效

快速扫描多个端口(进阶)

如果不确定哪些端口开着,或者要批量验证,nmap 很管用:

  • nmap -p 22,80,443 127.0.0.1 —— 扫指定几个端口
  • nmap -F 192.168.1.100 —— 扫最常用的 100 个端口
  • 注意:云服务 器(如 阿里云 腾讯 云)默认限制扫描行为,可能只看到 22,别误判

基本上就这些。先看监听,再试连通,最后核对防火墙,三步走下来,端口开没开心里就有数了。

星耀云
版权声明:本站原创文章,由 星耀云 2025-12-04发表,共计1012字。
转载说明:转载本网站任何内容,请按照转载方式正确书写本站原文地址。本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。
text=ZqhQzanResources