参考链接:

https://nmap.org/man/zh/

http://www.360doc.com/content/18/0127/18/52402560_725574428.shtml

0X00 背景

nmap是测试中常用的网络探测工具,但是这回简单的操作,一直了解不深入,现在深入的了解和学习一下。

在文章结构上,我把平时常用的内容提前了,以便再次查阅的时候,比较方便。

0X01 安装

nmap可以到

http://nmap.org/download.html

下载最新版本(目前最新版本 nmap-7.70)

0X02 实例部分

实例

下面给出一些实例,简单的、复杂的到深奥的。为更具体,一些例子使用了实际的IP地址和域名。在这些位置,可以使用你自己网络 的地址/域名替换。注意,扫描其它网络不一定合法,一些网络管理员不愿看到未申请过的扫描,会产生报怨。因此,先获得允许是最好的办法。

命令组成

nmap [ ...] [ ] { }

初级使用

nmap -v scanme.nmap.org

这个选项扫描主机scanme.nmap.org中所有的保留TCP端口。选项-v启用细节模式。

nmap -A -T4 scanme.nmap.org

-A用来进行操作系统及其版本的探测,-T4 可以加快执行速度

nmap -sS -O scanme.nmap.org/24

进行秘密SYN扫描,对象为主机Saznme所在的“C类”网段的255台主机。同时尝试确定每台工作主机的操作系统类型。因为进行SYN扫描 和操作系统检测,这个扫描需要有根权限。

nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127

进行主机列举和TCP扫描,对象为B类188.116网段中255个8位子网。这 个测试用于确定系统是否运行了sshd、DNS、imapd或4564端口。如果这些端口 打开,将使用版本检测来确定哪种应用在运行。

nmap -v -iR 100000 -P0 -p 80

随机选择100000台主机扫描是否运行Web服务器(80端口)。由起始阶段发送探测报文来确定主机是否工作非常浪费时间,而且只需探测主机的一个端口,因此使用-P0禁止对主机列表。

nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20

扫描4096个IP地址,查找Web服务器(不ping),将结果以Grep和XML格式保存。

host -l company.com | cut -d -f 4 | nmap -v -iL -

进行DNS区域传输,以发现company.com中的主机,然后将IP地址提供给 Nmap。上述命令用于GNU/Linux -- 其它系统进行区域传输时有不同的命令。

深入扫描命令

-Pn 不探测扫描(假定所有主机都存活)

-PB 默认探测扫描(探测端口:TCP 80,445&ICMP)

-PS tcp探测扫描

-PE ICMP Echo Request

-PP ICMP Timestamp Request

-PM ICMP Netmask Request

扫描类型

-sP 只探测主机在线情况

-sS SYN扫描(隐身扫描)

-ST TCP扫描

-sU UDP扫描

-sV 系统版本检测

-O 操作系统识别

–scanflags 指定TCP标识位(设置URG, ACK, PSH,RST,SYN,FIN位)

细粒度的时间选项

–min-hostgroup/max-hostgroup 平行的主机扫描组的大小

–min-parallelism/max-parallelism 并行探测

–min-rtt-timeout/max-rtttimeout/initial-rtt-timeout 指定每轮探测的时间

–max-retries 扫描探测的上限次数设定

–host-timeout 设置timeout时间

–scan-delay/–max-scan-delay 调整两次探测之间的延迟

–min-rate 每秒发送数据包不少于次

时序选项

-T0 偏执的:非常非常慢,用于IDS逃逸

-T1 猥琐的:相当慢,用于IDS逃逸

-T2 有礼貌的:降低速度以消耗更小的带宽,比默认慢十倍

-T3 普通的:默认,根据目标的反应自动调整时间模式

-T4 野蛮的:假定处在一个很好的网络环境,请求可能会淹没目标

-T5 疯狂的:非常野蛮,很可能会淹没目标端口或是漏掉一些开放端口

输出格式

-oN 标准输出

-oG 好理解的格式

-ox xml格式

-oA 用生成以上格式的文件

misc选项

-n 禁止反向IP地址查找

-6 只是用 IPv6

-A 是用几个命令:OS 探测,版本探测,脚本扫描,traceroute

–reason 列出nmap的判断:端口开放,关闭,被过滤。

0X03 脚本讲解

nmap脚本主要分为以下几类,在扫描时可根据需要设置--script=类别这种方式进行比较笼统的扫描:

脚本引擎

-sC 运行默认脚本

–script=

运行个人脚本或批量脚本

–script-args=<Name1=value1,…>

使用脚本参数列表

–script-updatedb

更新脚本数据库

脚本主要种类

auth: 利用或绕过目标主机得访问控制

broadcast: 在局域网内探查更多服务开启状况,如dhcp/dns/sqlserver等服务

brute: 提供暴力破解方式,针对常见的应用如http/snmp等

default: 使用-sC或-A选项扫描时候默认的脚本,提供基本脚本扫描能力

discovery: 对网络进行更多的信息,如SMB枚举、SNMP查询等

dos: 用于进行拒绝服务攻击

exploit: 利用已知的漏洞入侵系统

external: 利用第三方的数据库或资源,例如进行whois解析

fuzzer: 模糊测试的脚本,发送异常的包到目标机,探测出潜在漏洞

intrusive: 入侵性的脚本,此类脚本可能引发对方的IDS/IPS的记录或屏蔽

malware: 探测目标机是否感染了病毒、开启了后门等信息

safe: 此类与intrusive相反,属于安全性脚本

version: 负责增强服务与版本扫描(Version Detection)功能的脚本

vuln: 负责检查目标机是否有常见的漏洞(Vulnerability),如是否有MS08_067

nmap按脚本分类扫描

nmap --script=auth 192.168.137.*

负责处理鉴权证书(绕开鉴权)的脚本,也可以作为检测部分应用弱口令

nmap --script=brute 192.168.137.*

提供暴力破解的方式 可对数据库,smb,snmp等进行简单密码的暴力猜解

nmap --script=default 192.168.137.* 或者 nmap -sC 192.168.137.*

默认的脚本扫描,主要是搜集各种应用服务的信息,收集到后,可再针对具体服务进行攻击

nmap --script=vuln 192.168.137.*

检查是否存在常见漏洞

nmap -n -p445 --script=broadcast 192.168.137.4

在局域网内探查更多服务开启状况

nmap --script external 202.103.243.110

利用第三方的数据库或资源,例如进行whois解析

nmap按应用服务扫描

(1)vnc扫描:

1:检查vnc bypass

nmap --script=realvnc-auth-bypass 192.168.137.4

2:检查vnc认证方式

nmap --script=vnc-auth 192.168.137.4

3:获取vnc信息

nmap --script=vnc-info 192.168.137.4

(2)smb扫描:

1:smb破解

nmap --script=smb-brute.nse -p445 192.168.137.4

2:smb字典破解

nmap --script=smb-brute.nse --script-args=userdb=/var/passwd,passdb=/var/passwd 192.168.137.4

3:smb已知几个严重漏

nmap --script=smb-check-vulns.nse --script-args=unsafe=1 192.168.137.4

4:查看共享目录

nmap -p 445 --script smb-ls --script-args ‘share=e$,path=,smbuser=test,smbpass=test’ 192.168.137.4

5:smb-psexec: 用登陆凭据作为脚本参数,在目标机器上运行一系列程序(注:需要下载nmap_service)

$nmap –script smb-psexec.nse –script-args=smbuser=,smbpass=[,config=] -p445

6:查看会话

nmap -n -p445 --script=smb-enum-sessions.nse --script-args=smbuser=test,smbpass=test 192.168.137.4

7:系统信息

nmap -n -p445 --script=smb-os-discovery.nse --script-args=smbuser=test,smbpass=test 192.168.137.4

(3)Mssql扫描:

1:猜解mssql用户名和密码

nmap -p1433 --script=ms-sql-brute --script-args=userdb=/var/passwd,passdb=/var/passwd 192.168.137.4

2:xp_cmdshell 执行命令

nmap -p 1433 --script ms-sql-xp-cmdshell --script-args mssql.username=sa,mssql.password=sa,ms-sql-xp-cmdshell.cmd="net user" 192.168.137.4

3:dumphash值

nmap -p 1433 --script ms-sql-dump-hashes.nse --script-args mssql.username=sa,mssql.password=sa 192.168.137.4

(4)Mysql扫描:

1:检查mysql空密码

nmap -p 3306 --script=mysql-empty-password.nse 192.168.1.114

2:如果没有空密码,则可以使用自带的暴力破解功能尝试破解

nmap -p 3306 --script=mysql-brute.nse 192.168.1.114

3:如果知道了用户名与密码,可以枚举数据库中的用户

nmap -p 3306 --script=mysql-users.nse --script-args=mysqluser=root 192.168.1.114

4:枚举mysql用户信息

nmap -p 3306 --script=mysql-enum.nse 192.168.1.114

5:支持同一应用的所有脚本扫描

nmap --script=mysql-* 192.168.137.4

(5)Oracle扫描:

1:oracle sid扫描

nmap --script=oracle-sid-brute -p 1521-1560 192.168.137.5

2:oracle弱口令破解

nmap --script oracle-brute -p 1521 --script-args oracle-brute.sid=ORCL,userdb=/var/passwd,passdb=/var/passwd 192.168.137.5

(6)其他一些比较好用的脚本

nmap --script=broadcast-netbios-master-browser 192.168.137.4 发现网关

nmap -p 873 --script rsync-brute --script-args 'rsync-brute.module=www' 192.168.137.4 破解rsync

nmap --script informix-brute -p 9088 192.168.137.4 informix数据库破解

nmap -p 5432 --script pgsql-brute 192.168.137.4 pgsql破解

nmap -sU --script snmp-brute 192.168.137.4 snmp破解

nmap -sV --script=telnet-brute 192.168.137.4 telnet破解

nmap --script=http-vuln-cve2010-0738 --script-args 'http-vuln-cve2010-0738.paths={/path1/,/path2/}' jboss autopwn

nmap --script=http-methods.nse 192.168.137.4 检查http方法

nmap --script http-slowloris --max-parallelism 400 192.168.137.4 dos攻击,对于处理能力较小的站点还挺好用的 'half-HTTP' connections

nmap --script=samba-vuln-cve-2012-1182 -p 139 192.168.137.4

(7)不靠谱的脚本:

vnc-brute 次数多了会禁止连接

pcanywhere-brute 同上

0X04 Nmap 参考指南

了解Nmap

Nmap是什么?

Nmap (“Network Mapper(网络映射器)”) 是一款开放源代码的 网络探测和安全审核的工具。它的设计目标是快速地扫描大型网络,当然用它扫描单个主机也没有问题。

Nmap收集的信息有哪些?

  1. 使用原始IP报文来发现网络上有哪些主机
  2. 那些主机提供什么服务(应用程序名和版本)
  3. 那些服务运行在什么操作系统(包括版本信息)
  4. 它们使用什么类型的报文过滤器/防火墙,以及一堆其它功能。

虽然Nmap通常用于安全审核,许多系统管理员和网络管理员也用它来做一些日常的工作,比如查看整个网络的信息,管理服务升级计划,以及监视主机和服务的运行。

Nmap的输出结果有什么?

Nmap输出的是扫描目标的列表,以及每个目标的补充信息,至于是哪些信息则依赖于所使用的选项。

“所感兴趣的端口表格”是其中的关键。那张表列出端口号,协议,服务名称和状态。

状态可能是:

open(开放的)

filtered(被过滤的)

closed(关闭的)

unfiltered(未被过滤的)。

端口扫描基础

  1. Open(开放的)意味着目标机器上的应用程序正在该端口监听连接/报文。
  2. filtered(被过滤的) 意味着防火墙,过滤器或者其它网络障碍阻止了该端口被访问,Nmap无法得知 它是 open(开放的) 还是 closed(关闭的)。
  3. closed(关闭的) 端口没有应用程序在它上面监听,但是他们随时可能开放。
  4. 当端口对Nmap的探测做出响应,但是Nmap无法确定它们是关闭还是开放时,这些端口就被认为是 unfiltered(未被过滤的) 。
  5. 如果Nmap报告状态组合 open|filtered 和 closed|filtered时,那说明Nmap无法确定该端口处于两个状态中的哪一个状态。
  6. 当要求进行版本探测时,端口表也可以包含软件的版本信息。
  7. 当要求进行IP协议扫描时 (-sO),Nmap提供关于所支持的IP协议而不是正在监听的端口的信息。
  8. 除了所感兴趣的端口表,Nmap还能提供关于目标机的进一步信息,包括反向域名,操作系统猜测,设备类型,和MAC地址。

-A, 用来进行操作系统及其版本的探测

-T4 可以加快执行速度

用途:nmap [扫描类型] [选项] {目标规范}

目标规范:

可以传递主机名,IP地址,网络等。

例如:

scanme.nmap.org

microsoft.com/24

192.168.0.1

10.0-255.0-255.1-254

目标说明

-iL :从主机/网络列表中输入

-iR :选择随机目标,选项 0 意味着永无休止的扫描。

--exclude <host1 [,host2] [,host3],...>:排除主机/网络

--excludefile :从文件中排除列表

主机发现

-sL:列表扫描 - 仅列出要扫描的目标

-sP:Ping扫描 – 主要确定主机是否在线

-P0:将所有主机视为在线 - 跳过主机发现

--PS / PA / PU [portlist]:TCP SYN / ACK或UDP发现探测到给定端口

-PE / PP / PM:ICMP回显,时间戳和网络掩码请求发现探测

-PR:AEP扫描,针对目标ip的硬件地址

-n:不用域名解析,加快扫描

-R:为所有目标解析域名,发现机器正在运行时

--system-dns:使用系统域名解析器

端口扫描技术

Nmap支持的大约十几种扫描技术。 一般一次只用一种方法, 除了UDP扫描(-sU)可能和任何一种TCP扫描类型结合使用。

-sS :TCP SYN扫描,半开放,速度快。

-sT :TCP connect()建立高层系统调用,通过Berkeley Sockets API获取每个连接尝试的状态信息,不推荐可能留下日志记录

-sA :ACK扫描,用于发现防火墙规则,确定它们是有状态的还是无状态的,哪些端口是被过滤的。

-sU :UDP扫描,DNS,SNMP,和DHCP (注册的端口是53,161/162,和67/68)是最常见。可以与sT和sS结合使用,可以用版本扫描(-sV)帮助区分真正的开放端口和被过滤的端口。

-sW :TCP窗口扫描,通过检查返回的RST报文的TCP窗口域。 在某些系统上,开放端口用正数表示窗口大小(甚至对于RST报文) 而关闭端口的窗口大小为0。

-sM: Maimon扫描

-sN :Null扫描,不设置任何标志位(tcp标志头是0)

-sF :FIN扫描,只设置TCP FIN标志位

-sX :Xmas扫描,设置FIN,PSH,和URG标志位,就像点亮圣诞树上所有的灯一样。

--scanflags :自定义TCP扫描标志,只要是URG, ACK,PSH, RST,SYN,and FIN的任何组合就行。

-sI <zombie host [:probeport]>:Idlescan 除了极端隐蔽(由于它不从真实IP地址发送任何报文),该扫描类型可以建立机器间的基于IP的信任关系。 端口列表从zombie 主机的角度。显示开放的端口。 因此您可以尝试用您认为(通过路由器/包过滤规则)可能被信任的 zombies扫描目标。

如果您由于IPID改变希望探测zombie上的特定端口,您可以在zombie 主机后加上一个冒号和端口号。 否则Nmap会使用默认端口(80)。

-sO:IP协议扫描,在IP协议域的8位上循环,发送IP报文头。

-b :FTP跳转扫描,这是绕过防火墙的好方法,因为FTP服务器常常被置于可以访问比Web主机更多其它内部主机的位置。Nmap用-b选项支持ftp弹跳扫描。参数格式是 :@:。 是某个脆弱的FTP服务器的名字或者IP地址。 您也许可以省略:, 如果服务器上开放了匿名用户(user:anonymous password:-wwwuser@)。 端口号(以及前面的冒号) 也可以省略,如果使用默认的FTP端口(21)。

--host-timeout:跳过慢速的主机。

端口说明和扫描顺序

默认情况下,Nmap用指定的协议对端口1到1024以及nmap-services 文件中列出的更高的端口在扫描。

-p :仅扫描指定的端口

例如:-p22 ; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080

-F:快速扫描(有限的端口)

-r: (不要按随机顺序扫描端口)

服务和版本探测

用下列的选项打开和控制版本探测。

-sV (版本探测) 您也可以用-A同时打开操作系统探测和版本探测。

--allports (扫描所有端口)

--version-intensity (设置版本扫描强度)

高强度扫描花更多时间。强度值必须在0和9之间。 默认是7。

--version-light (打开轻量级模式)

这是 --version-intensity 2的方便的别名。轻量级模式使版本扫描快许多,但它识别服务的可能性也略微小一点。

--version-all (尝试每个探测)

--version-intensity 9的别名,保证对每个端口尝试每个探测报文。

--version-trace (跟踪版本扫描活动)

这导致Nmap打印出详细的关于正在进行的扫描的调试信息。 它是您用--packet-trace所得到的信息的子集。

-sR (RPC扫描,作为版本扫描(-sV)的一部分自动打开。)

操作系统探测

采用下列选项启用和控制操作系统检测:

-O (启用操作系统检测) 也可以使用-A来同时启用操作系统检测和版本检测。

--osscan-limit (针对指定的目标进行操作系统检测)

如果发现一个打开和关闭的TCP端口时,操作系统检测会更有效。 采用这个选项,Nmap只对满足这个条件的主机进行操作系统检测,这样可以节约时间,特别在使用-P0扫描多个主机时。这个选项仅在使用 -O或-A 进行操作系统检测时起作用。

--osscan-guess; --fuzzy (推测操作系统检测结果)

时间和性能

改善扫描时间的技术有:忽略非关键的检测、升级最新版本的Nmap(性能增强不断改善)。 优化时间参数也会带来实质性的变化,这些参数如下。

--min-hostgroup ; --max-hostgroup (调整并行扫描组的大小)

Nmap具有并行扫描多主机端口或版本的能力,Nmap将多个目标IP地址空间分成组,然后在同一时间对一个组进行扫描。通常,大的组更有效。缺点是只有当整个组扫描结束后才会提供主机的扫描结果。

--min-parallelism ; --max-parallelism (调整探测报文的并行度)

最常见的应用是--min-parallelism值大于1,以加快性能不佳的主机或网络的扫描。这个选项具有风险,如果过高则影响准确度,同时也会降低Nmap基于网络条件动态控制并行度的能力。这个值设为10较为合适。

--max-parallelism选项通常设为1,以防止Nmap在同一时间向主机发送多个探测报文,和选择--scan-delay同时使用非常有用,虽然 这个选项本身的用途已经很好。

--min-rtt-timeout (这个选项很少使用)

--max-rtt-timeout , --initial-rtt-timeout (调整探测报文超时响应时间,随后会放弃或重新 发送探测报文。)

这些选项以毫秒为单位,采用小的--max-rtt-timeout值,使 --initial-rtt-timeout值大于默认值可以明显减少扫描时间,特别是对不能ping通的扫描(-P0)以及具有严格过滤的网络。如果使用太小的值,使得很多探测报文超时从而重新发送,而此时可能响应消息正在发送,这使得整个扫描的时间会增加。

如果所有的主机都在本地网络,对于--max-rtt-timeout值来说,100毫秒比较合适。如果存在路由,首先使用ICMP ping工具ping主机,或使用其它报文工具如hpings,可以更好地穿透防火墙。查看大约10个包的最大往返时间,然后将 --initial-rtt-timeout设成这个时间的2倍,--max-rtt-timeout 可设成这个时间值的3倍或4倍。通常,不管ping的时间是多少,最大的rtt值不得小于100ms,不能超过1000ms。

--host-timeout (放弃低速目标主机)

--scan-delay ; --max-scan-delay (调整探测报文的时间间隔)

这个选项用于Nmap控制针对一个主机发送探测报文的等待时间(毫秒),在带宽控制的情况下这个选项非常有效。Solaris主机在响应UDP扫描探测报文时,每秒只发送一个ICMP消息,因此Nmap发送的很多数探测报文是浪费的。--scan-delay 设为1000,使Nmap低速运行。

--scan-delay的另一个用途是躲闭基于阈值的入侵检测和预防系统(IDS/IPS)。

-T <Paranoid|Sneaky|Polite|Normal|Aggressive|Insane> (设置时间模板)

Nmap提供了一些简单的方法,使用6个时间模板,使用时采用-T选项及数字(0 - 5) 或名称。模板名称有paranoid (0)、sneaky (1)、polite (2)、normal(3)、 aggressive (4)和insane (5)。前两种模式用于IDS躲避,Polite模式降低了扫描速度以使用更少的带宽和目标主机资源。默认模式为Normal,因此-T3 实际上是未做任何优化。Aggressive模式假设用户具有合适及可靠的网络从而加速扫描。Insane模式假设用户具有特别快的网络或者愿意为获得速度而牺牲准确性。

用户可以根据自己的需要选择不同的模板,由Nmap负责选择实际的时间值。模板也会针对其它的优化控制选项进行速度微调。例如,-T4 针对TCP端口禁止动态扫描延迟超过10ms,-T5对应的值为5ms。

建议在扫描可靠的网络时使用-T4,默认时间选项(-T3)很少有主机崩溃和带宽问题,比较适合于谨慎的用户。不进行版本检测比进行时间调整能更有效地解决这些问题。

虽然-T0和-T1选项可能有助于避免IDS告警,但在进行上千个主机或端口扫描时,会显著增加时间。对于这种长时间的扫描,宁可设定确切的时间值,而不要去依赖封装的-T0和-T1选项。

T0选项的主要影响是对于连续扫描,在一个时间只能扫描一个端口,每个探测报文的发送间隔为5分钟。

T1和T2选项比较类似,探测报文间隔分别为15秒和0.4秒。T3是Nmap的默认选项,包含了并行扫描。

T4选项与 --max-rtt-timeout 1250 --initial-rtt-timeout 500 等价,最大TCP扫描延迟为10ms。

T5等价于 --max-rtt-timeout 300 --min-rtt-timeout 50 --initial-rtt-timeout 250 --host-timeout 900000,最大TCP扫描延迟为5ms。

防火墙/IDS躲避和哄骗

-f (报文分段) --mtu :片段数据包(可选地w /给定MTU)

-D <decoy1,decoy2 [,ME],...>:使用诱饵隐蔽扫描

-S :源地址哄骗

-e :使用指定的接口

-g / - source-port :源源端口哄骗,使用给定的端口号

--data-length :(发送报文时附加随机数据)将随机数据附加到发送的数据包

--ttl :(设置IP time-to-live域)设置IP生存时间字段

--randomize-hosts (对目标主机的顺序随机排列)

--spoof-mac <mac地址,前缀或供应商名称>:欺骗您的MAC地址

要求Nmap在发送原以太网帧时使用指定的MAC地址,这个选项隐含了 --send-eth选项,以保证Nmap真正发送以太网包。

Nmap输出格式

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

-oX (XML输出)

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

--stylesheet 选项可用于建立可移植的XML文件。

-oS (ScRipT KIdd|3 oUTpuT) 脚本小子输出类似于交互工具输出

-oG (Grep输出)

-oA (输出至所有格式) 以三种主要格式输出

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

细节和调试选项

--packet-trace:显示发送和接收的所有数据包

-v (提高输出信息的详细度) 这个选项使用两次,会提供更详细的信息。

-d [level] (提高或设置调试级别,最高级别-d9,输出更多的细节)

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

要求Nmap打印发送和接收的每个报文的摘要,通常用于调试。为避免输出过多的行,可以限制扫描的端口数,如-p20-30。 如果只需进行版本检测,使用--version-trace。

--iflist:打印主机接口列表和系统路由(用于调试)

其它输出选项

--append-output (在输出文件中添加,附加到而不是clobber指定的输出文件)

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

--resume < logfilename > (继续中断的扫描)

当中断时,如果标准扫描 (-oN)或Grep扫描(-oG)日志 被保留,用户可以要求Nmap恢复终止的扫描,使用选项 --resume并说明标准/Grep扫描输出文件,不允许使用其它参数,Nmap会解析输出文件并使用原来的格式输出。

使用方式 如nmap --resume 。 Nmap将把新地结果添加到文件中,这种方式不支持XML输出格式,原因是将两次运行结果合并至一个XML文件比较困难。

--stylesheet :XSL样式表将XML输出转换为HTML

--no-stylesheet:防止Nmap关联XSL样式表w / XML输出 MISC: (忽略XML声明的XSL样式表,使用该选项禁止Nmap的XML输出关联任何XSL样式表。 xml-stylesheet指示被忽略。)

其它选项

-6:启用IPv6扫描

-A:这个选项启用额外的高级和高强度选项,目前启用操作系统检测(-O)和版本检测(-sV)

--datadir :指定自定义Nmap数据文件位置

--send-eth / - send-ip:使用原始以太网帧发送数据包或IP数据包

--privileged:假定用户完全权限

-V;--version:打印版本号

-h;--help:打印此帮助摘要页面。

最新文章

  1. 手把手教你玩转nginx负载均衡(三)----配置虚拟服务器网络
  2. Python中下划线的使用方法
  3. Fragment学习笔记
  4. how to check unsolved conflicts file list in git merge?
  5. NSDictionary 键值对查找
  6. 【和我一起学python吧】python的数据类型
  7. memcached 学习笔记
  8. gulp Tips
  9. javascript-函数声明和函数表达式-call-apply
  10. MongoDB启动报错 32-bit servers don&#39;t have journaling enabled by default. Please use --journal if you want durability. 【转】
  11. SN Writer 写号工具使用
  12. JSon与字符串的转换
  13. 洛谷P3916||图的遍历||反向建图||链式前向星||dfs
  14. 单细胞RNA-seq比对定量用什么工具好?使用哪个版本的基因组?数据来说话
  15. js自定制周期函数
  16. sql语句中group by使用
  17. MapReduce与Hadoop之比较
  18. jQuery笔记——插件
  19. BZOJ - 3757 树上莫队解决离线路径问题 &amp; 学习心得
  20. linux查看硬盘空间,删除大文件

热门文章

  1. 【BZOJ4237】 稻草人 CDQ分治+单调栈
  2. python3 爬虫继续爬笔趣阁 ,,,,,,,
  3. 开源项目 01 HtmlAgilityPack
  4. (7)Go切片
  5. mysql rtrim() 函数
  6. eclipse juno 怎么安装maven
  7. K8S API对象
  8. Spring Boot 配置文件 bootstrap vs application 到底有什么区别?
  9. 安装OpenStack Queens版本的教程推荐
  10. tar_ssh 配合下载文件(适合于带宽充足传输大量小文件场景)