nmap可快速扫描本机开放端口:先用sudo apt install nmap -y(Ubuntu)或sudo yum install nmap -y(CentOS)安装,再运行nmap 127.0.0.1查看open端口;需服务版本信息时加-sV并以root权限执行。

你想快速确认自己部署的Linux服务器上哪些端口正在对外提供服务,避免因端口未开放导致服务不可达,或因意外开放高危端口引发安全风险,可以直接用nmap对本机执行端口扫描。
安装并验证nmap是否可用
多数Linux发行版默认不预装nmap,需手动安装。在终端中运行:
sudo apt update && sudo apt install nmap -y(适用于Ubuntu/Debian);
或 sudo yum install nmap -y(适用于CentOS/RHEL);
或 sudo dnf install nmap -y(适用于Fedora)。
安装完成后输入 nmap --version 查看输出。若显示版本号(如 Nmap version 7.94),说明已就绪;若提示 command not found,请检查是否漏输 sudo 或系统架构不匹配。
扫描本机所有常见端口
直接运行:
nmap 127.0.0.1
这条命令会以普通用户权限对本地回环地址发起默认TCP SYN扫描,探测最常见的1000个端口。输出中状态为 open 的端口即为当前服务器实际监听并接受外部连接的端口。
注意:该扫描不会触发防火墙日志告警,但无法识别UDP端口或获取服务版本——如需更深度信息,必须配合其他参数。
精准扫描指定端口范围
方法一:扫描连续端口区间
nmap -p 1-1000 127.0.0.1
方法二:扫描多个离散端口
nmap -p 22,80,443,3306,6379 127.0.0.1
方法三:扫描全部65535个端口(耗时较长,仅限必要排查)
nmap -p- 127.0.0.1
【务必加 -p 参数明确指定端口范围,否则默认只扫前1000个,可能漏掉你自定义的服务端口】
获取服务与版本详情
第一步:先确保你有 root 权限
sudo -i
第二步:执行带服务识别的扫描
nmap -sV -p 22,80,443 127.0.0.1
第三步:观察输出中的 Service 和 Version 字段,例如 “80/tcp open http nginx 1.18.0” 表示80端口运行着Nginx 1.18.0版本。
这一步能帮你快速判断是否暴露了老旧、存在已知漏洞的服务组件。若提示 “Service detection requires root privileges”,说明当前用户权限不足,必须加 sudo 或切换为 root 才能执行成功。
绕过主机发现直扫端口(针对禁ping环境)
有些服务器禁用了ICMP响应(即 ping 不通),但端口仍可访问。此时默认扫描会卡在主机发现阶段,误判目标“离线”。解决方法是跳过探测,强制扫描:
nmap -Pn 127.0.0.1
这个参数告诉nmap:“别试ping,直接当它在线,给我扫端口”。对本地回环地址效果稳定,无需额外权限。











