当前位置:首页 > 综合

nmap的使用教程

nmap的用教使用教程

半夜两点,我盯着终端里滚动的用教扫描结果,后背发凉。用教那台部署在公网的用教测试服务器,居然开着 22 端口,用教而且 sshd 版本老得能进博物馆。用教nmap 一行命令就撕开了我自以为牢固的用教防线——这工具不装样子,它直接告诉你:你的用教网络在别人眼里长什么样。

先装它。用教Debian/Ubuntu 系敲 apt install nmap,用教CentOS 用 yum install nmap,用教macOS 上 brew install nmap。用教装完跑 nmap -v 看版本,用教能输出版本号就成。用教别急着扫外网,用教拿自家路由器练手最安全。

基础扫描就一条命令:nmap 192.168.1.1。默认扫 1000 个常用端口,输出像张表格——端口号、状态、服务名。状态栏里 open 代表端口开着,closed 是关着但可达,filtered 最烦人,意味着防火墙把探测包丢了,你猜不透后面藏着啥。我第一次扫自家路由器,看到 80 端口开着,还以为是管理界面,结果 curl 过去发现是个被遗忘的弱口令后台,密码是 admin/admin。那一刻我意识到:默认配置就是漏洞本身。

光扫端口不够,你得知道服务版本。加个 -sV 参数:nmap -sV 192.168.1.1。它会主动跟服务握手,抓取 banner,告诉你 ssh 是 OpenSSH 8.2p1 还是 Dropbear 2020.81。版本号就是攻击面的地图——老版本总有公开 CVE,新版本相对安全。有次我扫客户的打印机,发现 JetDirect 固件停留在 2016 年,漏洞库里躺着三个 RCE,客户还觉得打印机“只是个外设”。

操作系统识别用 -O,但需要 root 权限。它靠 TCP 指纹猜系统,Linux 的窗口大小、TTL 值和 Windows 差得远,准确率大概七八成。别全信,配合 -sV 一起用更靠谱。扫内网段就上 -sn 参数,只做 ping 扫描,不碰端口,速度快得像点名——nmap -sn 192.168.1.0/24 几秒钟列出所有在线设备。我排查公司网络里偷偷接的摄像头,就是这么干的,逮到三个不知道谁装的 IP 摄像头,全开着 telnet。

进阶玩法是脚本引擎 --script。nmap 自带几百个脚本,能测漏洞、爆破弱口令、枚举 SMB 共享。比如 nmap --script vuln 192.168.1.1 会跑一遍常见漏洞检测,输出像体检报告。但小心,这玩意儿动静大,防火墙日志会刷屏,别拿它扫没授权的目标——法律风险不是闹着玩的。我吃过亏,扫了云厂商的共享 IP,半小时后收到 abuse 邮件,服务商直接封了实例。

速度控制有个 -T 参数,从 0(paranoid)到 5(insane)。默认 T3 挺均衡,扫外网用 T4 也行,但别上 T5,丢包率飙升,结果反而失真。内网扫我用 T4,快且准;外网老老实实 T3,慢点但稳。

最后提醒一句:nmap 是刀,切菜还是砍人取决于你。扫自己资产、做渗透测试、验证防火墙规则,都是正当用途。没事别扫别人的 IP,尤其是云厂商的地址池——那里面住着几百个租户,你扫一下可能就扫进别人家里。真需要练手,本地起个虚拟机组个靶场,或者用 Docker 跑个 Metasploitable 镜像,随便折腾不犯法。

关掉终端前,我习惯把扫描结果存成文件:nmap -oA scan_result 192.168.1.1。它会生成三种格式,文本、XML 和 grep 可读的,留档备查。下次加固完再扫一遍,对比差异,看端口是不是真的关干净了。这习惯救过我——有次改完防火墙以为堵住了 445 端口,结果扫描发现 IPv6 地址上还开着,Windows 的 SMB 服务照样暴露。光看 IPv4 就是自欺欺人。

分享到: