端口检测需分三步:先用ss或netstat查本地监听,再用telnet、nc或curl测外部连通性,最后检查firewalld、UFW或iptables防火墙规则是否放行。
直接看端口有没有在监听,再确认它能不能从外面连上,两步缺一不可。
用 ss 或 netstat 查本地有没有程序正在等连接:
net-tools
ss -tunlp)能看到哪个进程占着端口,PID 也一起显示,方便定位| grep :3306 过滤监听只是第一步,防火墙、安全组、网络策略都可能拦住外部访问。得从别的机器或本机模拟外部请求:
即使服务在监听,没过防火墙照样连不上。不同发行版命令不一样:
firewall-cmd --list-ports 看已开放端口;firewall-cmd --add-port=8080/tcp --permanent && firewall-cmd --reload 开新端口ufw status 查状态;ufw allow 8080/tcp 放行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 个端口基本上就这些。先看监听,再试连通,最后核对防火墙,三步走下来,端口开没开心里就有数了。