nmap 输出

1. 输出格式

安全工具只有在输出结果时才是有价值,如果没有通过组织和易于理解的方式来表达,复杂的测试和算法几乎没有意义。因此 nmap 提供了一些格式,包含了方便直接查看的交互方式和方便软件处理的 XML 格式。

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

2. 五种输出格式

nmap 支持的 5 种输出格式:
interactive output(交互输出)
normal output(正常输出)
XML(XML输出)
grepable output(查询输出)
sCRiPt KiDDi3 output(脚本输出)

默认的方式是 interactive output,发送给标准输出(stdout)。
normal output 类似于 interactive output,但显示较少的运行时间信息和告警信息,这是由于这些信息是在扫描完全结束后用于分析,而不是交互式的。
XML 输出是最重要的输出类型,可被转换成 HTML,对于程序处理非常方便,如用于 Nmap 图形用
户接口或导入数据库。
grepable output 格式,在一行中包含目标主机最多的信息。
sCRiPt KiDDi3 0utPUt 格式,用于考虑自己的用户 |<-r4d

交互式输出是默认方式,没有相应的命令行选项,其它四种格式选项使用相同的语法,采用一个参数,即存放结果的文件名。多种格式可同时使用,但一种格式只能使用一次(例如,在标准输出用于查看的同时,可将结果保存到 XML 文件)。

3. 输出格式使用

3.1. 标准输出

-oN <filespec> (标准输出) 该选项要求将标准输出直接写入 filespec 指定的文件。

3.2. XML 输出

-oX <filespec> (XML 输出) 将输出直接写入 filespec 指定的 xml 文件,得到的 xml 文件可以由浏览器,或其他的编程语言,Java,python 进行解析。XML 输出引用了一个 XSL 样式表,用于格式化输出结果这类似于 HTML 可以使用浏览器进行预览。

3.3. 脚本输出

-oS <filespec> (ScRipT KIdd|3 oUTpuT) 类似于交互工具输出,这是一个事后处理,适合于 'l33t HaXXorZ, 因为原来 nmap 都是大写的输出。

3.4. Grep 输出

-oG <filespec> (Grep 输出) 前面说过 XML 输格式很强大,便于有经验的用户使用。XML 是一种标准,由许多解析器构成,而 Grep 输届更简化。XML 是可扩展的,以支持新发布的 Nmap 特点。使用 Grep 输出的目的是忽略这些特点,在没有足够空间的情况下可以节约空间。

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

Grep 输出可以包含注释(每行由 # 号开始)。每行由 6 个标记的域组成,由制表符及冒号分隔。这些域有主机,端口, 协议,忽略状态, 操作系统,序列号, IPID 和状态。这些域中最重要的是 Ports,它提供了所关注的端口的细节,端口项由逗号分隔。每个端口项代表一个所关注的端口,每个子域由/分隔。这些子域有:端口号, 状态,协议,拥有者,服务,SunRPCinfo 和版本信息。

3.5. 输出至所有格式

-oA <basename> (输出至所有格式) 此选项可将扫描结果以 标准格式XML格式Grep 格式 一次性输出,就是同一份结果使用不同格式输出(比如一份学生信息以 docx 格式和 PDF 格式输出)。分别存放在 basename.nmapbasename.xmlbasename.gnmap 文件中。

4. 细节和调试选项

4.1. 提高输出信息的详细度

-v (提高输出信息的详细度) 提高详细度可以输出扫描过程的更多信息。比如打开的端口,估计扫描结束时间。

这个选项可以使用两次(使用两次即 nmap -vv)来输出更详细的信息,但是使用两次以上是没有作的

20180420110329474.png

图中的信息就很详细

4.2. 提高或设置调试级别

-d <level> (提高或设置调试级别) 如果使用详细信息模式 (前面的 -vv 选项)也没有办法提供更详细信息的时候就可以使用 提高或设置调试级别 选项,这个选项 d 是 debug 的首字母,设置这个调试级别又可以得到更多的详细信息。

level 参数表明需要设置到的级别,级别最高可以设置到第 9 级,例如 -d9 表示设置级别为 9,这时就会得到庞大的的输出内容。

调试级别的本意是给开发人员使用的,作为黑客或网络安全工程师有一些调试信息无法看懂也没关系,从这些信息中寻找自己需要的信息即可。

4.3. 跟踪发送和接收的报文

--packet-trace (跟踪发送和接收的报文) 这个选项让 nmap 打印每个发送报文和接收报文的摘要,这个一般也用在调试方面,可以用来研究 nmap 是怎么工作的。

避免输出过多无用内容,可以限制扫描的端口数如只扫描 -p20-30 这 10 个端口。 如果只要进行版本检测可以只使用 --version-trace

4.4. 列举接口和路由

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

5. 关于输出的其他选项

5.1. 输出文件追加内容

--append-output (在输出文件中添加) 输出格式可以输出到指定格式的文件中,上次的输出创建了一个指定格式的文件,这次再向这个文件进行输出,那么上次输出的内容将被这次的输出内容覆盖,也就是说只保存最后一次输出的内容。

为了不不覆盖上次的输出内容我们可以使用这个选项来让 nmap 在上次的输出内容后追加这次的输出内容。

这里注意点:对于 xml 格式文件,由于 xml 只能以一个特定的格式开头和一个特定的格式结尾,那么在 xml 文件后追加内容那么可以知道可能会出现多个开头和多个结尾,那么追加就会导致 xml 的格式错误无法解析。所以对于 xml 文件追加内容后需要手工修改追加后的文件

xml 格式,如下

<?xml version="1.0" encoding="utf-8"?>

<Project>
  <PropertyGroup>
    <MSBuildProjectExtensionsPath>$(SolutionDir)Output\Objects\$(Configuration)\$(MSBuildProjectName)\obj\</MSBuildProjectExtensionsPath>
  </PropertyGroup>
</Project>

追加导致 xml 出现多个头多个尾无法解析,如下

<?xml version="1.0" encoding="utf-8"?>

<Project>
  <PropertyGroup>
    <MSBuildProjectExtensionsPath>$(SolutionDir)Output\Objects\$(Configuration)\$(MSBuildProjectName)\obj\</MSBuildProjectExtensionsPath>
  </PropertyGroup>
</Project>

<?xml version="1.0" encoding="utf-8"?>

<Project>
  <PropertyGroup>
    <MSBuildProjectExtensionsPath>$(SolutionDir)Output\Objects\$(Configuration)\$(MSBuildProjectName)\obj\</MSBuildProjectExtensionsPath>
  </PropertyGroup>
</Project>

5.2. 继续中断的扫描

--resume <filename> (继续中断的扫描) 使用 nmap 探测网络有时会持续较长的时间,比如持续一天,一周。但是电脑需要用于其他的用途,这时候就需要中断(中断扫描按下 Ctrl-C 快捷键即可)网络扫描。

我们有空了就可以恢复上次中断的扫描,如果标准扫描 (-oN)或 Grep 扫描(-oG)日志还保留,只需要简单地使用选项 --resume 让 nmap 恢复上次的扫描。

选项使用方式 nmap --resume logfilename。 nmap 把新的结果添加到文件中,这种方式不支持 XML 输出格式,因为将两次运行结果合并至一个 XML 文件比较困难,这个前面也说过会导致 xml 格式错误。

5.3. 设置 XSL 样式表,转换 XML 输出

--stylesheet <path or URL> (设置 XSL 样式表,转换 XML 输出) XSL 样式表 nmap.xsl,用于查看 或转换 XML 输出至 HTML 文件。XML 输出包含了 xml-stylesheet 选项, 直接指向 nmap.xml 文件, 该文件由 nmap 安装 (或位于 Windows当前工作目录)。

在 Web 浏览器 中打开 Nmap 的 XML 输出时,将会在文件系统中寻找 nmap.xsl 文件, 并使用它来输出结果。如果想使用其他的样式表,将你要使用的样式表作为 --stylesheet 的参数,必须指定完整的路径或 URL,常见的调用方式是 --stylesheethttp://www.insecure.org/nmap/data/nmap.xsl。 这告诉浏览器从 Insecire.Org 中加载最新的样式表。这使得没安装 nmap(和 nmap.xsl) 的机器中可以方便地查看结果。因此 URL 更方便使用,本地文件系统的 nmap.xsl 用于默认方式。

5.4. 忽略 XML 声明的 XSL 样式表

--no_stylesheet (忽略 XML 声明的 XSL 样式表) 禁止 nmap 的 XML 输出关联到任何 XSL 样式表。 使用了该选项后,用于关联 XSL 样式表的 xml-stylesheet 选项指示被忽略。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,125评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,293评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,054评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,077评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,096评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,062评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,988评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,817评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,266评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,486评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,646评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,375评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,974评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,621评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,642评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,538评论 2 352

推荐阅读更多精彩内容