编辑: 迷音桑 | 2019-10-06 |
1 2
3 4
5 6
7 8
9 10
11 12
13 14
15 16
17 18
19 目录 介绍
一、 描述
二、 译注
三、 选项概要
四、 目标说明
五、 主机发现
六、 端口扫描基础
七、 端口扫描技术
八、 端口说明和扫描顺序
九、 服务和版本探测
十、 操作系统探测 十
一、 时间和性能 十
二、 防火墙/IDS 躲避和哄骗 十
三、 输出 十
四、 其它选项 十
五、 运行时的交互 十
六、 实例 十
七、 Bugs 十
八、 作者 十
九、 法律事项(版权、许可证、担保(缺)、出口限制) Nmap 参考指南
2 Nmap 参考指南 Table of Contents 描述 译注 选项概要 目标说明 主机发现 端口扫描基础 端口扫描技术 端口说明和扫描顺序 服务和版本探测 操作系统探测 时间和性能 防火墙/IDS 躲避和哄骗 输出 其它选项 运行时的交互 实例 Bugs 作者 法律事项(版权、许可证、担保、出口限制) Unofficial Translation Disclaimer Name nmap ― 网络探测工具和安全/端口扫描器 Synopsis nmap [ 扫描类型 .
..] [ 选项 ] { 扫描目标说明 } Nmap 参考指南
3 介绍
一、 描述 Nmap ( Network Mapper(网络映射器) ) 是一款开放源代码的 网络探测和安全审核的工具. 它的设计目标是快速地扫描大型网络,当然用它扫描单个 主机也没有问题.Nmap 以新颖的 方式 使用原始 IP 报文来发现网络上有哪些主机,那些 主机提供什么服务(应用程序名和版 本),那 些服务运行在什么操作系统(包括版本信息), 它们使用什么类型的报文过滤器/防火 墙,以及一堆其它功能.虽然 Nmap 通常用于安全审核, 许多系统管理员和网络管理员也用 它来做一些 日常的工作,比如查看整个网络的信息, 管理服务升级计划,以及监视主机和服 务的运行. Nmap 输出的是扫描目标的列表,以及每个目标的补充信息,至于是哪些信息则依赖于所使 用的 选项. 所感兴趣的端口表格 是其中的关键.那张表列出端口号,协议,服务名称和状 态. 状态可能是 open(开放的),filtered(被过滤的), closed(关闭的),或者 unfiltered(未被过 滤的). Open(开放的)意味着目标机器上的应用程序正在该端口监听连接/报文. filtered(被 过 滤的) 意味着防火墙,过滤器或者其它网络障碍阻止了该端口被访问,Nmap 无法得知 它是 open(开放的) 还是 closed(关闭的). closed(关闭的) 端口没有应用程序在它上面监听,但 是 他们随时可能开放. 当端口对 Nmap 的探测做出响应,但是 Nmap 无法确定它们是关闭还是 开 放时,这些端口就被认为是 unfiltered(未被过滤的) 如果 Nmap 报告状态组合 open|filtered 和 closed|filtered 时,那说明 Nmap 无法确定该端口处于两个状态中的哪一个状态. 当要求 进行版本探测时,端口表也可以包含软件的版本信息.当要求进行 IP 协议扫描时 (-sO), Nmap 提供关于所支持的 IP 协议而不是正在监听的端口的信息. 除了所感兴趣的端口表,Nmap 还能提供关于目标机的进一步信息,包括反向域名,操作系 统猜 测,设备类型,和 MAC 地址. 一个典型的 Nmap 扫描如 Example 1, 一个典型的 Nmap 扫描 所示.在这个例子中,唯一的 选 项是-A, 用来进行操作系统及其版本的探测,-T4 可以加快执行速度,接着是两个目标主 机名 Example 1. 一个典型的 Nmap 扫描 Nmap 参考指南
4
一、 描述 # nmap -A -T4 scanme.nmap.org playground [Starting nmap ( http://www.insecure.org/nmap/](http://www.insecure.org/nmap/) ) Interesting ports on scanme.nmap.org (205.217.153.62): (The
1663 ports scanned but not shown below are in state: filtered) port STATE SERVICE VERSION 22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99) 53/tcp open domain 70/tcp closed gopher 80/tcp open http Apache httpd 2.0.52 ((Fedora)) 113/tcp closed auth Device type: general purpose Running: Linux 2.4.X|2.5.X|2.6.X OS details: Linux 2.4.7 - 2.6.11,Linux 2.6.0 - 2.6.11 Uptime 33.908 days (since Thu Jul
21 03:38:03 2005) Interesting ports on playground.nmap.或者 g (192.168.0.40): (The
1659 ports scanned but not shown below are in state: closed) port STATE SERVICE VERSION 135/tcp open msrpc Microsoft Windows RPC 139/tcp open netbios-ssn 389/tcp open ldap? ![image](Nmap中文官方文档/Image_003.png) 445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds 1002/tcp open windows-icfw? 1025/tcp open msrpc Microsoft Windows RPC 1720/tcp open H.323/Q.931 CompTek AquaGateKeeper 5800/tcp open vnc-http RealVNC 4.0 (Resolution 400x250;
VNC TCP port: 5900) 5900/tcp open vnc VNC (protocol 3.8) MAC Address: 00:A0:CC:63:85:4B (Lite-on Communications) Device type: general purpose Running: Microsoft Windows NT/2K/XP OS details: Microsoft Windows XP Pro RC1+ through final release Service Info: OSs: Windows,Windows XP Nmap finished:
2 IP addresses (2 hosts up) scanned in 88.392 seconds Nmap 参考指南
5
一、 描述
二、 译注 该 Nmap 参考指南中文版由 Fei Yang [email protected] 和 Lei Li [email protected] 从 英文版本翻译而来.我们希望这将使全世界使用中文的人们更了解 Nmap,但我们不能保 证该译 本和官方的英文版本一样完整,也不能保证同步更新.它可以在 Creative Commons Attribution License 下被修改并重新发布. Nmap 参考指南
6
二、 译注
三、 选项概要 当 Nmap 不带选项运行时,该选项概要会被输出,最新的版本在这里 http://www.insecure.org/nmap/data/nmap.usage.txt.它帮助人们记住最常用的选项,但不 能 替代本手册其余深入的文档,一些晦涩的选项甚至不在这里. Usage: nmap [Scan Type(s)] [Options] {target specification} TARGET SPECIFICATION: Can pass hostnames, IP addresses, networks, etc. Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1;
10.0-255.0-255.1-254 -iL : Input from list of hosts/networks -iR : Choose random targets --exclude : Exclude hosts/networks --excludefile : Exclude list from file HOST DISCOVERY: -sL: List Scan - simply list targets to scan -sP: Ping Scan - go no further than determining if host is online -P0: Treat all hosts as online -- skip host discovery -PS/PA/PU [portlist]: TCP SYN/ACK or UDP discovery probes to given ports -PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes -n/-R: Never do DNS resolution/Always resolve [default: sometimes resolve] SCAN TECHNIQUES: -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans -sN/sF/sX: TCP Null, FIN, and Xmas scans --scanflags : Customize TCP scan flags -sI : Idlescan -sO: IP protocol scan -b : FTP bounce scan PORT SPECIFICATION AND SCAN ORDER: -p : Only scan specified ports Ex: -p22;
-p1-65535;
-p U:53,111,137,T:21-25,80,139,8080 -F: Fast - Scan only the ports listed in the nmap-services file) -r: Scan ports consecutively - don'
t randomize SERVICE/VERSION DETECTION: -sV: Probe open ports to determine service/version info --version-light: Limit to most likely probes for faster identification --version-all: Try every single probe for version detection --version-trace: Show detailed version scan activity (for debugging) OS DETECTION: -O: Enable OS detection --osscan-limit: Limit OS detection to promising targets --osscan-guess: Guess OS more aggressively TIMING AND PERFORMANCE: -T[0-6]: Set timing template (higher is faster) --min-hostgroup/max-hostgroup : Parallel host scan group sizes --min-parallelism/max-parallelism : Probe parallelization --min_rtt_timeout/max-rtt-timeout/initial-rtt-timeout : Specifies probe round trip time. --host-timeout : Give up on target after this long --scan-delay/--max_scan-delay : Adjust delay between probes FIREWALL/IDS EVASION AND SPOOFING: -f;
--mtu : fragment packets (optionally w/given MTU) -D : Cloak a scan with decoys -S : Spoof source address -e : Use specified interface -g/--source-port : Use given port number --data-length : Append random data to sent packets --ttl : Set IP time-to-live field --spoof-mac : Spoof your MAC address OUTPUT: -oN/-oX/-oS/-oG : Output scan results in normal, XML, s| srtt:
14987 rttvar:
14987 to:
100000 . 如果对某行输出不明白,可以忽略、查看源代码或向开发列表(nmap-dev)求助.有些输 出 行会有自我解释的特点,但随着调试级别的升高,会越来越含糊. --packet-trace (跟踪发送和接收的报文) 要求 Nmap 打印发送和接收的每个报文的摘要,通常用于 调试,有助于新用户更好地理 解Nmap 的真正工作.为避免输出过 多的行,可以限制扫描的端口数,如-p20-30. 如 果只需 进行版本检测,使用--version-trace. --iflist (列举接口和路由) 输出 Nmap 检测到的接口列表和系统路由,用于调试路由 问题或设备描述失误(如 Nmap 把PPP 连接当作以太网对待). 其它输出选项 --append-output (在输出文件中添加) Nmap 参考指南
37 十
三、 输出 当使用文件作为输出格式,如-oX 或-oN, 默认该文件被覆盖.如果希望文件保留现有内 容,将结果添加在现 有文件后面,使用--append-output 选项.所有指 定的输出文件都 被添 加.但对于 XML(-oX)扫描输出 文件无效,无法正常解析,需要手工修改. --resume (继续中断的扫描) 一些扩展的 Nmap 运行需要很长的时间 -- 以天计算,这类扫描 往往不会结束.可以进 行一 些限制,禁止 Nmap 在工作时间运行,导致 网络中断、运行 Nmap 的主机计划或非计 划地 重启、或者 Nmap 自己中断. 运行 Nmap 的管理员可以因其它原因取消运行,按下 ctrl-C 即可.从头开始启动扫描可能令人不快,幸运的是,如果标准扫描 (-oN)或 Grep 扫描(-oG)日志 被保留,用户可以要求 Nmap 恢复终止的扫描,只需要简单地使用选项 --resume 并说明标准/Grep 扫描输出文件,不允许 使用其它参数,Nmap 会解析输出文件 并 使用原来的格式输出.使用方式 如 nmap --resume logfilename. Nmap 将把新地结 果添加 到文件中 这种方式不支持 XML 输出格式 原因是 将两次运行结果合并至一个 XML 文件比较 困难. --stylesheet (设置 XSL 样式表,转换 XML 输出) Nmap 提从了 XSL 样式表 nmap.xsl,用于查看 或转换 XML 输出至 HTML.XML 输出包含了 一个 xml-stylesheet, 直接指向 nmap.xml 文件, 该文件由 Nmap 安装(或位于 Windows 当 前工作目录).在 Web 浏览器 中打开 Nmap 的 XML 输出时,将会在文件系统中寻找 nmap.xsl 文件, 并使用它输出结果.如果希望使用不同的样式表,将它作为 --stylesheet 的参数,必段指明完整的路 径或 URL,常见的调用方式是--stylesheet http://www.insecure.org/nmap/data/nmap.xsl . 这告诉浏览器从 Insecire.Org 中加 载最新的 样式表.这使得 没安装 Nmap(和 nmap.xsl) 的机器中可以方便地查看结果.因 此,URL 更 方便使用,本地文件系统 的 nmap.xsl 用于默认方式. --no_stylesheet (忽略 XML 声明的 XSL 样式表) 使用该选项禁止 Nmap 的 XML 输出关联任何 XSL 样式表. xml-stylesheet 指示被忽略. Nmap 参考指南
38 十
三、 输出 十
四、 其它选项 本节描述一些重要的(和并不重要)的选项,这些选项 不适合其它任何地方. -6 (启用 IPv6 扫描) 从
2002 年起,Nmap 提供对 IPv6 的一些主要特征的支持.ping 扫描(TCP-only)、 连接 扫描 以及版本检测都支持 IPv6.除增加-6 选项外, 其它命令语法相同.当然,必须使 用 IPv6 地 址来替换主机名,如 3ffe:7501:4819:2000:210:f3ff:fe03:14d0. 除 所关 注的端口 行的地址 部分为 IPv6 地址. IPv6 目前未在全球广泛采用,目前在一些国家(亚洲)应用较多, 一些高级操作系统支持 IPv6.使用 Nmap 的 IPv6 功能,扫描的源和目 的都需要配置 IPv6.如果 ISP(大部分)不 分配 IPv6 地址,Nmap 可以采用 免费的隧道代理.一种较好的选择是 BT Exact,位于 https://tb.ipv6.btexact.com/. 此外,还有 Hurricane Electric,位于 http://ipv6tb.he.net/. 6to4 隧道是 另一种常用的免费方法. -A (激烈扫描模式选项) 这个选项启用额外的高级和高强度选项,目前还未确定代表 的内容.目前,这个选项启 用了 操作系统检测(-O) 和版本扫描(-sV),以后会增加更多的功能. 目的是启用一个全 面的扫描选 项集合,不需要用户记忆大量的 选项.这个选项仅仅启用功能,不包含用于 可能所需要的 时 间选项(如-T4)或细节选项(-v). --datadir ........