本章知识点
通过前面章节的学习,相信读者已经可以非常灵活地对Nmap进行操控,但我们还缺少一部分重要的知识——保存,前面章节已经可以将结果输出到屏幕上,本章节将介绍如何将输出的结果保存到本地。
本章选项
表12.1所示为本章节所需Nmap命令表,为方便读者查阅,笔者特此整理。
表12.1 本章所需选项
选 项 |
解 释 |
---|---|
-oN |
标准保存 |
-oX |
XML保存 |
-oS |
133t保存 |
-oG |
Grep保存 |
-oA |
保存到所有格式 |
--append-output |
补充保存文件 |
-oX |
转换XML保存 |
-oX |
忽略XML声明的XSL样式表 |
Nmap提供了数据输出,也提供了数据保存,Nmap提供的数据保存方式有很多种,其中,XML格式最方便软件调用处理或者查看。
除了提供保存格式外,Nmap还提供了选项来控制保存的细节以及调试信息。保存内容可发送给标准保存或命名文件,可以追加或覆盖。保存文件还可被用于继续中断的扫描。
Nmap提供了5种不同的保存格式,默认方式是interactive output,发送给标准保存(stdout)。normal output方式类似于interactive,但显示较少的运行时间信息和告警信息,这是由于这些信息是在扫描完全结束后用于分析,而不是交互式的。
交互式保存是默认方式,没有相应的命令行选项,其他4种格式选项使用相同的语法,采用一个参数,即存放结果的文件名。多种格式可同时使用,但一种格式只能使用一次。例如,在标准保存用于查看的同时,可将结果保存到XML文件用于程序分析。
表12.2所示为本章节所需Nmap命令表,表中加粗命令为本小节所需命令——标准保存。
表12.2 本节所需命令
选 项 |
解 释 |
---|---|
-oN |
标准保存 |
-oX |
XML保存 |
-oS |
133t保存 |
-oG |
Grep保存 |
-oA |
保存到所有格式 |
--append-output |
补充保存文件 |
-oX |
转换XML保存 |
-oX |
忽略XML声明的XSL样式表 |
使用-oN选项可以要求Nmap将标准保存到指定文件。
root@Wing:~# nmap -F -oN test1.txt 192.168.126.131
Starting Nmap 6.40 ( http://nmap.org
) at 2014-06-13 18:37 CST
Nmap scan report for 192.168.126.131
Host is up (0.00019s latency).
Not shown: 82 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
23/tcp open telnet
25/tcp open smtp
53/tcp open domain
80/tcp open http
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
513/tcp open login
514/tcp open shell
2049/tcp open nfs
2121/tcp open ccproxy-ftp
3306/tcp open mysql
5432/tcp open postgresql
5900/tcp open vnc
6000/tcp open X11
8009/tcp open ajp13
MAC Address: 00:0C:29:E0:2E:76 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds
root@Wing:~#
将结果保存为test1.txt的同时Nmap也将结果打印出来。下面查看一下test1.txt文件。
root@Wing:~# cat test1.txt
# Nmap 6.40 scan initiated Fri Jun 13 18:37:50 2014 as: nmap -F -oN test1.txt 192.168.126.131
Nmap scan report for 192.168.126.131
Host is up (0.00019s latency).
Not shown: 82 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
23/tcp open telnet
25/tcp open smtp
53/tcp open domain
80/tcp open http
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
513/tcp open login
514/tcp open shell
2049/tcp open nfs
2121/tcp open ccproxy-ftp
3306/tcp open mysql
5432/tcp open postgresql
5900/tcp open vnc
6000/tcp open X11
8009/tcp open ajp13
MAC Address: 00:0C:29:E0:2E:76 (VMware)
# Nmap done at Fri Jun 13 18:37:50 2014 -- 1 IP address (1 host up) scanned in 0.11 seconds
root@Wing:~#
保存的结果与Nmap即时打印出的结果是相同的。
表12.3所示为本章节所需Nmap命令表,表中加粗命令为本小节所需命令——XML保存。
-oX选项可以将结果保存到指定XML文件。XML格式可以在Windows、Linux、Mac OS等多种系统下进行数据交换、储存,这极大地使Nmap的扫描结果可以更好地被查看或者调用。
表12.3 本节所需命令
选 项 |
解 释 |
---|---|
-oN |
标准保存 |
-oX |
XML保存 |
-oS |
133t保存 |
-oG |
Grep保存 |
-oA |
保存到所有格式 |
--append-output |
补充保存文件 |
-oX |
转换XML保存 |
-oX |
忽略XML声明的XSL样式表 |
XML保存引用了一个XSL样式表,用于格式化保存结果,类似于HTML,最方便的方法是将XML保存加载到一个Web浏览器,如Firefox或IE。
root@Wing:~# nmap -F -oX test1.xml 192.168.126.131
Starting Nmap 6.40 ( http://nmap.org
) at 2014-06-13 18:48 CST
Nmap scan report for 192.168.126.131
Host is up (0.00046s latency).
Not shown: 82 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
23/tcp open telnet
25/tcp open smtp
53/tcp open domain
80/tcp open http
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
513/tcp open login
514/tcp open shell
2049/tcp open nfs
2121/tcp open ccproxy-ftp
3306/tcp open mysql
5432/tcp open postgresql
5900/tcp open vnc
6000/tcp open X11
8009/tcp open ajp13
MAC Address: 00:0C:29:E0:2E:76 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 0.17 seconds
root@Wing:~#
用cat命令是无法直接查看的。
root@Wing:~# cat test1.xml
<?xml version="1.0"?>
<?xml-stylesheet href="file:///usr/bin/../share/nmap/nmap.xsl" type="text/xsl"?>
<!-- Nmap 6.40 scan initiated Fri Jun 13 18:48:23 2014 as: nmap -F -oX test1.xml 192.168.126.131 -->
<nmaprun scanner="nmap" args="nmap -F -oX test1.xml 192.168.126.131" start="1402656503" startstr="Fri Jun 13 18:48:23 2014" version="6.40" xmloutputversion="1.04">
<scaninfo type="syn" protocol="tcp" numservices="100" services="7,9,13,21-23,25-26,37, 53,79-81,88,106,110-111,113,119,135,139,143-144,179,199,389,427,443-445,465,513-515,543-544,548,554,587,631,646,873,990,993,995,1025-1029,1110,1433,1720,1723,1755,1900,2000-2001,2049,2121,2717,3000,3128,3306,3389,3986,4899,5000,5009,5051,5060,5101,5190,5357,5432,5631,5666,5800,5900,6000-6001,6646,7070,8000,8008-8009,8080-8081,8443,8888,9100,9999-10000,32768,49152-49157"/>
…省略…
<runstats><finished time="1402656503" timestr="Fri Jun 13 18:48:23 2014" elapsed="0.17" summary="Nmap done at Fri Jun 13 18:48:23 2014; 1 IP address (1 host up) scanned in 0.17 seconds" exit="success"/><hosts up="1" down="0" total="1"/>
</runstats>
</nmaprun>
root@Wing:~#
一般XML文件多用作其他程序调用,如果要打开XML则需要用其他程序打开。
表12.4所示为本章节所需Nmap命令表,表中加粗命令为本小节所需命令——133t保存。
表12.4 本节所需命令
选 项 |
解 释 |
---|---|
-oN |
标准保存 |
-oX |
XML保存 |
-oS |
133t保存 |
-oG |
Grep保存 |
-oA |
保存到所有格式 |
--append-output |
补充保存文件 |
-oX |
转换XML保存 |
-oX |
忽略XML声明的XSL样式表 |
使用-oS使Nmap将结果按133t方式保存。
root@Wing:~# nmap -F -oS test2.txt 192.168.126.131
Starting Nmap 6.40 ( http://nmap.org
) at 2014-06-13 18:56 CST
Nmap scan report for 192.168.126.131
Host is up (0.00040s latency).
Not shown: 82 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
23/tcp open telnet
25/tcp open smtp
53/tcp open domain
80/tcp open http
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
513/tcp open login
514/tcp open shell
2049/tcp open nfs
2121/tcp open ccproxy-ftp
3306/tcp open mysql
5432/tcp open postgresql
5900/tcp open vnc
6000/tcp open X11
8009/tcp open ajp13
MAC Address: 00:0C:29:E0:2E:76 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 0.14 seconds
root@Wing:~#
查看一下test2.txt文件。
root@Wing:~# cat test2.txt
$tartING NMap 6.40 (Http://nMaP.0Rg
) at 2014-06-13 18:56 CsT
Nmap $Can rep0rT for 192.168.126.131
h0st Iz uP (0.00040z latency).
NOt $h0wN: 82 Clo$3d p0rtS
poRT STATe $3rV|C3
21/tcp 0P3n FtP
22/Tcp open ssh
23/TcP 0PEn t3lNEt
25/tcp open $mTP
53/tcp 0peN doma1N
80/tcp OPEn http
111/tcp 0pen rpcbiNd
139/Tcp 0peN n3TB!os-$sn
445/tcp open miCro$0ft-dz
513/Tcp opEn l0g|n
514/tCp 0p3N sh3ll
2049/tcp open nfs
2121/tcp Op3n CcpR0xy-ftp
3306/tCp 0pEn mysql
5432/tcp Op3N poSTgre$ql
5900/tcP oP3n vnc
6000/tcp 0p3n X11
8009/tcP open AJp13
M4C address: 00:0C:29:30:2E:76 (VMWare)
NmAp d0n3: 1 IP addrE$z (1 hO$t up) $cann3d |N 0.14 $3condz
root@Wing:~#
表12.5所示为本章节所需Nmap命令表,表中加粗命令为本小节所需命令——Grep保存。
表12.5 本节所需命令
选 项 |
解 释 |
---|---|
-oN |
标准保存 |
-oX |
XML保存 |
-oS |
133t保存 |
-oG |
Grep保存 |
-oA |
保存到所有格式 |
--append-output |
补充保存文件 |
-oX |
转换XML保存 |
-oX |
忽略XML声明的XSL样式表 |
使用-oG选项可使Nmap将结果Grep保存。这种保存方式不推荐使用,但是这种方式却很常用。
root@Wing:~# nmap -F -oG test3.txt 192.168.126.131
Starting Nmap 6.40 ( http://nmap.org
) at 2014-06-13 19:01 CST
Nmap scan report for 192.168.126.131
Host is up (0.00027s latency).
Not shown: 82 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
23/tcp open telnet
25/tcp open smtp
53/tcp open domain
80/tcp open http
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
513/tcp open login
514/tcp open shell
2049/tcp open nfs
2121/tcp open ccproxy-ftp
3306/tcp open mysql
5432/tcp open postgresql
5900/tcp open vnc
6000/tcp open X11
8009/tcp open ajp13
MAC Address: 00:0C:29:E0:2E:76 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 0.09 seconds
root@Wing:~#
查看一下test3.txt文件。
root@Wing:~# cat test3.txt
# Nmap 6.40 scan initiated Fri Jun 13 19:01:49 2014 as: nmap -F -oG test3.txt 192.168.126.131
Host: 192.168.126.131 () Status: Up
Host: 192.168.126.131 () Ports: 21/open/tcp//ftp///, 22/open/tcp//ssh///, 23/open/tcp //telnet///, 25/open/tcp//smtp///, 53/open/tcp//domain///, 80/open/tcp//http///, 111/ open/tcp//rpcbind///, 139/open/tcp//netbios-ssn///, 445/open/tcp//microsoft-ds///, 513/ open/tcp//login///, 514/open/tcp//shell///, 2049/open/tcp//nfs///, 2121/open/tcp// ccproxy-ftp///, 3306/open/tcp//mysql///, 5432/open/tcp//postgresql///, 5900/open/tcp// vnc///, 6000/open/tcp//X11///, 8009/open/tcp//ajp13/// Ignored State: closed (82)
# Nmap done at Fri Jun 13 19:01:49 2014 -- 1 IP address (1 host up) scanned in 0.09 seconds
root@Wing:~#
这种输出方式往往不适用于继续中断扫描,不推荐用这种方式进行保存。
表12.6所示为本章节所需Nmap命令表,表中加粗命令为本小节所需命令——保存到所有格式。
表12.6 本节所需命令
选 项 |
解 释 |
---|---|
-oN |
标准保存 |
-oX |
XML保存 |
-oS |
133t保存 |
-oG |
Grep保存 |
-oA |
保存到所有格式 |
--append-output |
补充保存文件 |
-oX |
转换XML保存 |
-oX |
忽略XML声明的XSL样式表 |
-oA可将扫描结果以标准格式、XML格式和Grep格式一次性保存,分别存放在 <名字>.nmap,<名字>.xml和 <名字>.gnmap文件中。
root@Wing:~# nmap -F -oA testA 192.168.126.131
Starting Nmap 6.40 ( http://nmap.org
) at 2014-06-13 19:07 CST
Nmap scan report for 192.168.126.131
Host is up (0.00029s latency).
Not shown: 82 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
23/tcp open telnet
25/tcp open smtp
53/tcp open domain
80/tcp open http
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
513/tcp open login
514/tcp open shell
2049/tcp open nfs
2121/tcp open ccproxy-ftp
3306/tcp open mysql
5432/tcp open postgresql
5900/tcp open vnc
6000/tcp open X11
8009/tcp open ajp13
MAC Address: 00:0C:29:E0:2E:76 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds
root@Wing:~#
下面查看一下这3个文件。
root@Wing:~# ls -l testA.*
-rw-r--r-- 1 root root 725 6月 13 19:07 testA.gnmap
-rw-r--r-- 1 root root 735 6月 13 19:07 testA.nmap
-rw-r--r-- 1 root root 4130 6月 13 19:07 testA.xml
root@Wing:~#
表12.7所示为本章节所需Nmap命令表,表中加粗命令为本小节所需命令——补充保存文件。
表12.7 本节所需命令
选 项 |
解 释 |
---|---|
-oN |
标准保存 |
-oX |
XML保存 |
-oS |
133t保存 |
-oG |
Grep保存 |
-oA |
保存到所有格式 |
--append-output |
补充保存文件 |
-oX |
转换XML保存 |
-oX |
忽略XML声明的XSL样式表 |
--append-output可以补充保存文件,当使用前面的选项保存一个文件,需要在原有数据后面追加新数据的时候可以使用该选项,但这对于XML保存格式来说是不支持的,如需追加需要手工更改文件内容。
root@Wing:~# nmap -F --append-output -oN test1.txt 192.168.126.1
Starting Nmap 6.40 ( http://nmap.org
) at 2014-06-13 19:14 CST
Nmap scan report for 192.168.126.1
Host is up (0.00032s latency).
All 100 scanned ports on 192.168.126.1 are filtered
MAC Address: 00:50:56:C0:00:08 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 3.15 seconds
root@Wing:~#
查看一下test1.txt文件。
root@Wing:~# cat test1.txt
# Nmap 6.40 scan initiated Fri Jun 13 18:37:50 2014 as: nmap -F -oN test1.txt 192.168.126.131
Nmap scan report for 192.168.126.131
Host is up (0.00019s latency).
Not shown: 82 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
23/tcp open telnet
…省略…
5432/tcp open postgresql
5900/tcp open vnc
6000/tcp open X11
8009/tcp open ajp13
MAC Address: 00:0C:29:E0:2E:76 (VMware)
# Nmap done at Fri Jun 13 18:37:50 2014 -- 1 IP address (1 host up) scanned in 0.11 seconds
# Nmap 6.40 scan initiated Fri Jun 13 19:14:23 2014 as: nmap --append-output -oN test1.txt 192.168.126.1
# Nmap 6.40 scan initiated Fri Jun 13 19:14:45 2014 as: nmap -F --append-output -oN test1.txt 192.168.126.1
Nmap scan report for 192.168.126.1
Host is up (0.00032s latency).
All 100 scanned ports on 192.168.126.1 are filtered
MAC Address: 00:50:56:C0:00:08 (VMware)
# Nmap done at Fri Jun 13 19:14:48 2014 -- 1 IP address (1 host up) scanned in 3.15 seconds
root@Wing:~#
表12.8所示为本章节所需Nmap命令表,表中加粗命令为本小节所需命令——转换XML保存。
表12.8 本节所需命令
选 项 |
解 释 |
---|---|
-oN |
标准保存 |
-oX |
XML保存 |
-oS |
133t保存 |
-oG |
Grep保存 |
-oA |
保存到所有格式 |
--append-output |
补充保存文件 |
-oX |
转换XML保存 |
-oX |
忽略XML声明的XSL样式表 |
--stylesheet 可以将XSL样式表转换为XML保存,例如您有一个样式表http://www.0day.co/ nmap.xsl ,就可以使用该选项将XSL样式表转换为XML并保存,如果目标是一个本地的地址,也可以用绝对路径或者相对路径来表示这个XSL文件并进行转换。下面的例子就使用了本地的XSL样式表转换为XML。
root@Wing:~# nmap -F -oX testB.xml --stylesheet http://www.insecure.org/nmap/data/nmap.xsl
192.168.126.131
Starting Nmap 6.40 ( http://nmap.org
) at 2014-06-13 19:24 CST
Nmap scan report for 192.168.126.131
Host is up (0.00018s latency).
Not shown: 82 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
23/tcp open telnet
25/tcp open smtp
53/tcp open domain
80/tcp open http
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
513/tcp open login
514/tcp open shell
2049/tcp open nfs
2121/tcp open ccproxy-ftp
3306/tcp open mysql
5432/tcp open postgresql
5900/tcp open vnc
6000/tcp open X11
8009/tcp open ajp13
MAC Address: 00:0C:29:E0:2E:76 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds
root@Wing:~#
表12.9所示为本章节所需Nmap命令表,表中加粗命令为本小节所需命令——忽略XML声明的XSL样式表。
表12.9 本节所需命令
选 项 |
解 释 |
---|---|
-oN |
标准保存 |
-oX |
XML保存 |
-oS |
133t保存 |
-oG |
Grep保存 |
-oA |
保存到所有格式 |
--append-output |
补充保存文件 |
-oX |
转换XML保存 |
-oX |
忽略XML声明的XSL样式表 |
--no-stylesheet选项禁止Nmap的XML保存关联任何XSL样式表。
root@Wing:~# nmap -oX testC.xml --no-stylesheet 192.168.126.131
Starting Nmap 6.40 ( http://nmap.org
) at 2014-06-13 19:27 CST
Nmap scan report for 192.168.126.131
Host is up (0.00024s latency).
Not shown: 977 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
23/tcp open telnet
25/tcp open smtp
53/tcp open domain
80/tcp open http
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
512/tcp open exec
513/tcp open login
514/tcp open shell
1099/tcp open rmiregistry
1524/tcp open ingreslock
2049/tcp open nfs
2121/tcp open ccproxy-ftp
3306/tcp open mysql
5432/tcp open postgresql
5900/tcp open vnc
6000/tcp open X11
6667/tcp open irc
8009/tcp open ajp13
8180/tcp open unknown
MAC Address: 00:0C:29:E0:2E:76 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 0.14 seconds
root@Wing:~#