0°

NMAP输出

任何安全工具只有在输出结果时才是有价值的,如果没有通过组织和易于理解的方式来表达,复杂的测试和算法几乎没有意义.Nmap提供了一些方式供用户和其它软件使用,实际上,没有一种方式可以使所有人满意.因此Nmap提供了一些格式,包含了方便直接查看的交互方式和方便软件处理的XML格式.

除了提供输出格式外,Nmap还提供了选项来控制输出的细节以及调试信息.输出内容可发送给标准输出或命名文件,可以追加或覆盖.输出文件还可被用于继续中断的扫描.

Nmap提供5种不同的输出格式.默认的方式是interactive output,发送给标准输出(stdout).normal output方式类似于interactive,但显示较少的运行时间信息和告警信息,这是由于这些信息是在扫描完全结束后用于分析,而不是交互式的.

XML输出是最重要的输出类型,可被转换成HTML,对于程序处理非常方便,如用于Nmap图形用户接口或导入数据库.

另两种输出类型比较简单,grepable output格式,在一行中包含目标主机最多的信息;sCRiPt KiDDi3 0utPUt格式,用于考虑自己的用户.

交互式输出是默认方式,没有相应的命令行选项,其它四种格式选项使用相同的语法,采用一个参数,即存放结果的文件名.多种格式可同时使用,但一种格式只能使用一次.例如,在标准输出用于查看的同时,可将结果保存到XML文件用于程序分析,这时可以使用选项-oX myscan.xml -oN myscan.nmap.为便于描述的简化,本章使用类似于myscan.xml的简单文件名,建议采用更具有描述性的文件名.文件名的选择与个人喜好有关,建议增加扫描日期以及一到两个单词来描述,并放置于一个目录中.

在将结果输出到文件的同时,Nmap仍将结果发送给标准输出.例如,命令nmap -oX myscan.xml target将输出XML至myscan.xml,并在stdout上打印相同的交互式结果,而此时-oX选项没有采用.可以使用连字符作为选项来改变,这使得Nmap禁止交互式输出,而是将结果打印到所指定的标准输出流中.因此,命令nmap -oX – target只输出XML至标准输出stdout.严重错误仍然是输出到标准错误流stderr中.

与其它Nmap参数不同,日志文件选项的空格(如-oX)和文件名或连字符是必需的.如果省略了标记,例如-oG-或-oXscan.xml,Nmap的向后兼容特点将建立标准格式的输出文件,相应的文件名为G-和Xscan.xml.

Nmap还提供了控制扫描细节以及输出文件的添加或覆盖的选项,这些选项如下所述.

Nmap输出格式

-oN  (标准输出)

要求将标准输出直接写入指定的文件.如上所述,这个格式与交互式输出略有不同.

-oX  (XML输出)

要求XML输出直接写入指定的文件.Nmap包含了一个文档类型定义(DTD),使XML解析器有效地进行XML输出.这主要是为了程序应用,同时也可以协助人工解释Nmap的XML输出.DTD定义了合法的格式元素,列举可使用的属性和值.最新的版本可在http://www.insecure.org/nmap/data/nmap.dtd获取.

XML提供了可供软件解析的稳定格式输出,主要的计算机语言都提供了免费的XML解析器,如C/C++,Perl,Python和Java.针对这些语言有一些捆绑代码用于处理Nmap的输出和特定的执行程序.例如perl CPAN中的Nmap::Scanner和Nmap::Parser.对几乎所有与Nmap有接口的主要应用来说,XML是首选的格式.

XML输出引用了一个XSL样式表,用于格式化输出结果,类似于HTML.最方便的方法是将XML输出加载到一个Web浏览器,如Firefox或IE.由于nmap.xsl文件的绝对路径,因此通常只能在运行了Nmap的机器上工作(或类似配置的机器).类似于任何支持Web机器的HTML文件,–stylesheet选项可用于建立可移植的XML文件.

-oS  (ScRipT KIdd|3 oUTpuT)

脚本小子输出类似于交互工具输出,这是一个事后处理,适合于’l33t HaXXorZ,由于原来全都是大写的Nmap输出.这个选项和脚本小子开了玩笑,看上去似乎是为了“帮助他们”.

-oG  (Grep输出)

这种方式最后介绍,因为不建议使用.XML输格式很强大,便于有经验的用户使用.XML是一种标准,由许多解析器构成,而Grep输届更简化.XML是可扩展的,以支持新发布的Nmap特点.使用Grep输出的目的是忽略这些特点,因为没有足够的空间.

然而,Grep输出仍然很常使用.它是一种简单格式,每行一个主机,可以通过UNIX工具(如grep、awk、cut、sed、diff)和Perl方便地查找和分解.常可用于在命令行上进行一次性测式.查找ssh端口打开或运行Sloaris的主机,只需要一个简单的grep主机说明,使用通道并通过awk或cut命令打印所需的域.

Grep输出可以包含注释(每行由#号开始).每行由6个标记的域组成,由制表符及冒号分隔.这些域有主机,端口,协议,忽略状态,操作系统,序列号,IPID和状态.

这些域中最重要的是Ports,它提供了所关注的端口的细节,端口项由逗号分隔.每个端口项代表一个所关注的端口,每个子域由/分隔.这些子域有:端口号,状态,协议,拥有者,服务,SunRPCinfo和版本信息.

对于XML输出,本手册无法列举所有的格式,有关Nmap Grep输出的更详细信息可查阅http://www.unspecific.com/nmap-oG-output.

-oA  (输出至所有格式)

为使用方便,利用-oA选项可将扫描结果以标准格式、XML格式和Grep格式一次性输出.分别存放在.nmap,.xml和.gnmap文件中.也可以在文件名前指定目录名,如在UNIX中,使用~/nmaplogs/foocorp/,在Window中,使用c:\hacking\sco on Windows.

细节和调试选项

-v (提高输出信息的详细度)

通过提高详细度,Nmap可以输出扫描过程的更多信息.输出发现的打开端口,若Nmap认为扫描需要更多时间会显示估计的结束时间.这个选项使用两次,会提供更详细的信息.这个选项使用两次以上不起作用.

大部分的变化仅影响交互式输出,也有一些影响标准和脚本小子输出.其它输出类型由机器处理,此时Nmap默认提供详细的信息,不需要人工干预.然而,其它模式也会有一些变化,省略一些细节可以减小输出大小.例如,Grep输出中的注释行提供所有扫描端口列表,但由于这些信息过长,因此只能在细节模式中输出.

-d [level] (提高或设置调试级别)

当详细模式也不能为用户提供足够的数据时,使用调试可以得到更多的信息.使用细节选项(-v)时,可启用命令行参数(-d),多次使用可提高调试级别.也可在-d后面使用参数设置调试级别.例如,-d9设定级别9.这是最高的级别,将会产生上千行的输出,除非只对很少的端口和目标进行简单扫描.

如果Nmap因为Bug而挂起或者对Namp的工作及原理有疑问,调试输出非常有效.主要是开发人员用这个选项,调试行不具备自我解释的特点.例如,Timeoutvals:srtt: -1 rttvar: -1 to: 1000000 delta 14987 ==> srtt: 14987 rttvar: 14987 to: 100000.如果对某行输出不明白,可以忽略、查看源代码或向开发列表(nmap-dev)求助.有些输出行会有自我解释的特点,但随着调试级别的升高,会越来越含糊.

--packet-trace (跟踪发送和接收的报文)

要求Nmap打印发送和接收的每个报文的摘要,通常用于调试,有助于新用户更好地理解Nmap的真正工作.为避免输出过多的行,可以限制扫描的端口数,如-p20-30.如果只需进行版本检测,使用–version-trace.

--iflist (列举接口和路由)

输出Nmap检测到的接口列表和系统路由,用于调试路由问题或设备描述失误(如Nmap把PPP连接当作以太网对待).

其它输出选项

--append-output (在输出文件中添加)

当使用文件作为输出格式,如-oX或-oN,默认该文件被覆盖.如果希望文件保留现有内容,将结果添加在现有文件后面,使用–append-output选项.所有指定的输出文件都被添加.但对于XML(-oX)扫描输出文件无效,无法正常解析,需要手工修改.

--resume  (继续中断的扫描)

一些扩展的Nmap运行需要很长的时间–以天计算,这类扫描往往不会结束.可以进行一些限制,禁止Nmap在工作时间运行,导致网络中断、运行Nmap的主机计划或非计划地重启、或者Nmap自己中断.运行Nmap的管理员可以因其它原因取消运行,按下ctrl-C即可.从头开始启动扫描可能令人不快,幸运的是,如果标准扫描(-oN)或Grep扫描(-oG)日志被保留,用户可以要求Nmap恢复终止的扫描,只需要简单地使用选项–resume并说明标准/Grep扫描输出文件,不允许使用其它参数,Nmap会解析输出文件并使用原来的格式输出.使用方式如nmap –resume .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指示被忽略.

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论