如何使用Nmap:网络映射器免费安全扫描器

如何使用Nmap:网络映射器免费安全扫描器
Nmap,全称Network Mapper,是网络发现和安全审计中使用最广泛的免费开源工具之一。无论您是系统管理员映射内部网络、开发人员检查服务器上暴露了哪些服务,还是注重隐私的用户验证路由器实际向互联网开放了什么,Nmap都能以数据包级别的精确视图,让您了解哪些主机可达以及正在运行什么服务。
本指南将介绍Nmap的功能、安装方法、最实用的扫描命令、如何解读输出结果,以及如何在扫描时遵守法律。同时,也会讨论在快速检查时,基于浏览器的替代工具(如BrowserScan)何时更合适。
什么是Nmap,它能做什么?

如何使用Nmap:网络映射器免费安全扫描器 - 什么是Nmap,它能做什么?.
如何使用Nmap:网络映射器免费安全扫描器 - 什么是Nmap,它能做什么?。
Nmap使用原始IP数据包来确定网络上有哪些主机可用、这些主机提供哪些服务、运行什么操作系统,以及存在何种数据包过滤器或防火墙。它旨在快速扫描大型网络,但同样适用于单个主机。
常见用例包括:
- 网络清单:发现子网中连接的每个设备
- 安全审计:识别开放端口和过时服务
- 服务监控:检查特定端口或服务是否仍在运行
- 防火墙测试:验证哪些端口被过滤或阻止
- 操作系统指纹识别:确定远程主机的操作系统和版本
官方Nmap套件还包括Zenmap(图形界面和结果查看器)、Ncat(用于数据传输和调试)、Ndiff(用于比较扫描结果)以及Nping(用于数据包生成和响应分析)。
Nmap是免费的吗?需要注册账户吗?

如何使用Nmap:网络映射器免费安全扫描器 - Nmap是免费的吗?需要注册账户吗?.
如何使用Nmap:网络映射器免费安全扫描器 - Nmap是免费的吗?需要注册账户吗?。
Nmap完全免费且开源。您无需创建账户或登录即可下载和使用。源代码基于GNU GPL许可证发布,这意味着您可以修改和重新分发。官方二进制包适用于Linux、Windows和macOS,并且许多Linux发行版默认包含该工具。
如果您刚开始使用,Nmap登录和设置指南详细介绍了Windows、macOS和Linux的安装步骤。
如何安装Nmap

如何使用Nmap:网络映射器免费安全扫描器 - 如何安装Nmap.
如何使用Nmap:网络映射器免费安全扫描器 - 如何安装Nmap。
Windows
- 从nmap.org下载官方Nmap安装程序。
- 运行安装程序并接受默认选项,包括用于原始数据包支持的Npcap驱动程序。
- 打开命令提示符或PowerShell窗口,输入
nmap --version验证安装。
macOS
通过Homebrew安装:
brew install nmap
或者,从官方下载页面下载macOS安装程序。
Linux
在Debian或Ubuntu上:
sudo apt update
sudo apt install nmap
在Fedora或RHEL上:
sudo dnf install nmap
运行您的第一次Nmap扫描

如何使用Nmap:网络映射器免费安全扫描器 - 运行您的第一次Nmap扫描.
如何使用Nmap:网络映射器免费安全扫描器 - 运行您的第一次Nmap扫描。
最简单的扫描针对单个主机:
nmap scanme.nmap.org
这将执行对前1000个最常见端口的默认TCP SYN扫描。输出显示每个开放端口、服务名称和端口状态:
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
端口状态可能报告为open、closed、filtered、unfiltered、open|filtered或closed|filtered。filtered通常表示防火墙或数据包过滤器干扰了扫描。
基本Nmap命令和扫描类型
主机发现:查找网络上的活动设备
在扫描端口之前,您通常需要知道哪些主机在线。Ping扫描向一个范围发送ICMP回显请求、TCP SYN数据包和其他探测:
nmap -sn 192.168.1.0/24
这将列出本地子网上所有响应的设备,而不执行端口扫描。
TCP SYN扫描:默认的隐蔽扫描
nmap -sS 192.168.1.1
SYN扫描发送TCP SYN数据包并等待SYN/ACK响应。它比完整的TCP连接扫描更快,且不太可能被记录,因为它从不完成三次握手。
TCP连接扫描:当您没有原始数据包权限时
nmap -sT 192.168.1.1
这使用操作系统的正常连接系统调用。当您没有root或管理员权限时,它更可靠,但更容易被目标系统检测到。
UDP扫描:查找开放的UDP服务
nmap -sU -p 53,67,68,123,161 192.168.1.1
UDP扫描比TCP扫描慢且可靠性较低,但许多重要服务(如DNS、DHCP、NTP和SNMP)运行在UDP上。
版本检测:识别运行的软件
nmap -sV scanme.nmap.org
版本检测探测开放端口以确定应用程序名称和版本。这对于识别过时或易受攻击的软件至关重要。
操作系统检测:指纹识别远程系统
nmap -O scanme.nmap.org
操作系统检测分析TCP/IP协议栈行为的细微差异,以猜测远程操作系统和版本。这需要root或管理员权限。
激进扫描:组合多种技术
nmap -A scanme.nmap.org
-A标志在单个命令中启用操作系统检测、版本检测、脚本扫描和路由跟踪。它产生大量输出,但提供目标的全面视图。
扫描特定端口或端口范围
nmap -p 22,80,443 scanme.nmap.org
nmap -p 1-1024 scanme.nmap.org
nmap -p- scanme.nmap.org
第一个命令扫描三个特定端口。第二个扫描前1024个端口。第三个扫描所有65535个TCP端口,速度较慢但更彻底。
使用Nmap脚本引擎
Nmap脚本引擎(NSE)通过数百个脚本扩展了Nmap,用于漏洞检测、暴力破解测试、服务枚举等。脚本按类别组织,如safe、default、vuln、auth和discovery。
运行所有默认脚本:
nmap -sC scanme.nmap.org
运行与漏洞相关的脚本:
nmap --script vuln scanme.nmap.org
运行特定脚本:
nmap --script http-title scanme.nmap.org
列出所有可用脚本:
ls /usr/share/nmap/scripts/
读取和保存Nmap输出
Nmap支持多种输出格式,可以组合使用:
nmap -oN normal.txt -oX xml.xml -oG grepable.txt scanme.nmap.org
-oN保存普通人类可读输出-oX保存XML输出,供其他工具解析-oG保存可grep输出,用于快速命令行过滤-oA以通用基础名称保存所有三种格式
对于重复扫描,使用Ndiff比较结果:
ndiff scan1.xml scan2.xml
法律和道德考虑
Nmap是一个强大的工具,随之而来的是责任。扫描您不拥有或没有明确许可测试的网络或主机可能违反法律、服务条款或可接受使用政策。在某些司法管辖区,未经授权的端口扫描已导致民事诉讼甚至刑事指控。
最佳实践:
- 只扫描您拥有或获得书面授权测试的系统
- 使用官方测试主机
scanme.nmap.org进行练习 - 注意激进扫描可能触发入侵检测系统
- 避免在工作时间或高速率扫描第三方基础设施
- 在扫描外部目标之前,检查您的ISP的可接受使用政策
官方Nmap网络扫描书籍包含详细的法律章节,每个新用户在对自己的设备以外的任何东西进行扫描之前都应阅读。
Nmap与基于浏览器的端口扫描器
Nmap是深度、数据包级网络侦察的黄金标准,但并不总是最方便的选择。基于浏览器的端口扫描器(如BrowserScan中包含的)可以在不安装任何软件的情况下检查您公共IP地址上的常见开放端口。
何时选择Nmap:
- 您需要操作系统检测、版本检测或NSE脚本
- 您正在扫描内部网络或一系列主机
- 您需要原始数据包控制和高级扫描类型
- 您熟悉命令行
何时基于浏览器的扫描器更实用:
- 您想从任何设备快速检查您的面向公共的端口
- 您在公司网络后面,无法安装软件
- 您只需要验证少数常见端口是否开放
- 您正在从外部角度测试您的VPN或防火墙
要更全面地了解您的浏览器和网络暴露了什么,BrowserScan教程展示了如何检查浏览器指纹、检测DNS和WebRTC泄漏,并在一个地方扫描端口。如果您特别担心VPN是否泄漏您的真实IP地址,在线匿名指南解释了如何测试外部观察者实际能看到什么。
相关阅读
- 在线匿名:它真正意味着什么以及如何测试 - 了解在线匿名的真正含义、为什么重要、人们用来实现匿名的工具,以及如何测试您的身份是否真正受到保护。
- IPWHOIS.io教程:IP地理定位API指南 - 了解如何使用IPWHOIS.io API进行IP地理定位、ISP数据和安全标志。包括设置、代码示例、限制和验证技巧。
- HackerTarget:安全扫描器、IP工具和API指南 - 探索HackerTarget的在线漏洞扫描器、反向IP查找、IP工具和API限制。了解如何将它们用于安全测试和侦察。
来源和进一步阅读
- 第1章:Nmap入门 - 目录
常见问题解答
Nmap真的免费吗?
是的。Nmap是免费且开源的,基于GNU GPL许可证发布。没有付费层级、账户或高级功能。该项目由社区和Npcap相关项目的赞助商支持。
Nmap会导致目标计算机崩溃吗?
Nmap设计为非破坏性,但激进扫描,尤其是UDP扫描或某些NSE脚本,可能会压垮脆弱设备,如旧打印机、物联网硬件或配置错误的服务器。官方文档警告说,扫描生产系统偶尔会导致不稳定,这也是只扫描您授权测试的系统的另一个原因。
Nmap和Zenmap有什么区别?
Nmap是命令行扫描器。Zenmap是官方图形前端,提供可视化界面来构建命令、运行扫描和比较结果。Zenmap不再积极开发,但对于许多喜欢GUI的用户来说仍然有效。
Nmap扫描需要多长时间?
对单个主机的默认扫描通常需要几秒到一分钟。使用-p-扫描所有65535个端口、运行版本检测或扫描大型子网可能需要更长的时间。-T时序模板标志,从-T0(偏执)到-T5(疯狂),调整扫描速度和隐蔽性。
我可以使用Nmap扫描自己的公共IP地址吗?
可以,但结果可能与外部观察者看到的不同。从您自己的网络内部扫描公共IP通常测试的是您的路由器,而不是您的实际机器。要获得真正的外部视图,请使用基于浏览器的端口扫描器或从网络外部的系统运行Nmap。
什么是官方Nmap测试目标?
Nmap项目提供scanme.nmap.org作为公共主机,供练习扫描。对此主机的扫描应保持合理,避免使用激进流量淹没它。
结论
Nmap仍然是了解网络上实际可达内容的最灵活、最强大的免费工具。学习核心命令——主机发现、SYN扫描、版本检测、操作系统指纹识别和Nmap脚本引擎——为您提供了一套实用的技能,用于安全审计、网络管理和故障排除。
从对您拥有的主机进行简单扫描开始,阅读官方Nmap文档,并在您感到舒适时扩展到NSE脚本。当您需要快速、无需安装的公共端口或浏览器隐私设置检查时,像BrowserScan这样的基于浏览器的工具可以很好地补充Nmap,无需命令行即可显示您的网络从外部看起来的样子。
