5_nmap官方说明归纳

一:主要功能说明
官方地址:

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

 
Nmap包含四项基本功能:
主机发现(Host Discovery)
端口扫描(Port Scanning)
版本侦测(Version Detection)
操作系统侦测(Operating System Detection)
 

二,语句说明
# nmap -A -T4 scanme.nmap.org playground
唯一的选项是-A, 用来进行操作系统及其版本的探测,-T4 可以加快执行速度,接着是两个目标主机名。
 

 

 

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 <inputfilename>: Input from list of hosts/networks
  -iR <num hosts>: Choose random targets
  --exclude <host1[,host2][,host3],...>: Exclude hosts/networks
  --excludefile <exclude_file>: Exclude list from file

 

扫范围:

nmap 172.0.0.1,2,3
nmap 172.0.0.1-100
扫一个文本里面的地址,每一项必须以一个或多个空格,制表符或换行符分开
cat list.txt
nmap -iL list.txt
随机扫3个地址:
nmap -iR 3 
排除地址来扫:
nmap 172.0.0.0/24 --exclude 172.0.0.8
nmap 172.0.0.0/24 --excludefile list.txt
 

HOST DISCOVERY:
  -sL: List Scan - simply list targets to scan

           列表扫描是主机发现的退化形式,它仅仅列出指定网络上的每台主机, 不发送任何报文到目标主机
  -sP: Ping Scan - go no further than determining if host is online

     Ping扫描,-sP选项在默认情况下, 发送一个ICMP回声请求和一个TCP报文到80端口。

  -P0: Treat all hosts as online -- skip host discovery

          无ping扫描,直接扫,不去ping是否是存在的

  -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

  -PR ARP Ping

  -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

          -sS SYNr半开放扫描,速度快,它常常被称为半开放扫描, 因为它不打开一个完全的TCP连接。它发送一个SYN报文, 就像您真的要打开一个连接,然后等待响应。 SYN/ACK表示端口在监听 (开放),而 RST (复位)表示没有监听者。如果数次重发后仍没响应, 该端口就被标记为被过滤。如果收到ICMP不可到达错误 (类型3,代码1,2,3,9,10,或者13),该端口也被标记为被过滤。

  -sU UDP扫描,比较慢

  -sN/sF/sX: TCP Null, FIN, and Xmas scans

  --scanflags <flags>: Customize TCP scan flags 

       定制的TCP扫描
  -sI <zombie host[:probeport]>: Idlescan

       利用zombie主机来扫      https://nmap.org/book/idlescan.html

  -sO: IP protocol scan

   当要求进行IP协议扫描时 (-sO),Nmap提供关于所支持的IP协议而不是正在监听的端口的信息。
  -b <ftp relay host>: FTP bounce scan

    用户连接到一台FTP服务器,然后要求文件送到一台第三方服务器。

 

 

PORT SPECIFICATION AND SCAN ORDER:
  -p <port ranges>: Only scan specified ports
  -F: Fast - Scan only the ports listed in the nmap-services file)
  -r: Scan ports consecutively - don't randomize

       不随机顺序扫

 

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

   扫描指定端口


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
       Nmap只对满足这个条件的主机进行操作系统检测,特别在使用-P0扫描多个主机时。这个选项仅在使用 -O-A 进行操作系统检测时起作用。

  --osscan-guess: Guess OS more aggressively

       默认就有的


TIMING AND PERFORMANCE:
  -T[0-6]: Set timing template (higher is faster)

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

T0选项的主要影响是对于连续扫描,在一次只能扫描一个端口, 每个探测报文的发送间隔为5分钟。T1T2选项比较类似, 探测报文间隔分别为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。
  --min-hostgroup/max-hostgroup <msec>: Parallel host scan group sizes

       调整并行扫描组的大小
  --min-parallelism/max-parallelism <msec>: Probe parallelization
  --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <msec>: Specifies probe round trip time.

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

   放弃低速目标主机
  --scan-delay/--max-scan-delay <msec>: Adjust delay between probes

       这个选项用于Nmap控制针对一个主机发送探测报文的等待时间(毫秒),在带宽 控制的情况下这个选项非常有效。Solaris主机在响应UDP扫描探测报文报文时,每秒 只发送一个ICMP消息,因此Nmap发送的很多数探测报文是浪费的。--scan-delay 设为1000,使Nmap低速运行。Nmap尝试检测带宽控制并相应地调整扫描的延迟,但 并不影响明确说明何种速度工作最佳。

 


FIREWALL/IDS EVASION AND SPOOFING:
  -f; --mtu <val>: fragment packets (optionally w/given MTU)
  -D <decoy1,decoy2[,ME],...>: Cloak a scan with decoys
  -S <IP_Address>: Spoof source address

  -e <iface>: Use specified interface
  -g/--source-port <portnum>: Use given port number

       源端口哄骗
  --data-length <num>: Append random data to sent packets

       正常情况下,Nmap发送最少的报文,只含一个包头。因此TCP包通常 是40字节,ICMP ECHO请求只有28字节。这个选项告诉Nmap在发送的报文上 附加指定数量的随机字节。操作系统检测(-O)包不受影响, 但大部分ping和端口扫描包受影响,这会使处理变慢,但对扫描的影响较小。
  --ttl <val>: Set IP time-to-live field
  --spoof-mac <mac address, prefix, or vendor name>: Spoof your MAC address

       MAC地址哄骗

 


OUTPUT:
  -oN/-oX/-oS/-oG <file>: Output scan results in normal, XML, s|<rIpt kIddi3, and Grepable format, respectively, to the given filename.

       各种输出格式
  -oA <basename>: Output in the three major formats at once
  -v: Increase verbosity level (use twice for more effect)
  -d[level]: Set or increase debugging level (Up to 9 is meaningful)
  --packet-trace: Show all packets sent and received
  --iflist: Print host interfaces and routes (for debugging)
  --append-output: Append to rather than clobber specified output files
  --resume <filename>: Resume an aborted scan

nmap --resume <logfilename> 

       继续之前的扫描
  --stylesheet <path/URL>: XSL stylesheet to transform XML output to HTML
  --no-stylesheet: Prevent Nmap from associating XSL stylesheet w/XML output


MISC:
  -6: Enable IPv6 scanning
  -A: Enables OS detection and Version detection
  --datadir <dirname>: Specify custom Nmap data file location
  --send-eth/--send-ip: Send packets using raw ethernet frames or IP packets
  --privileged: Assume that the user is fully privileged
  -V: Print version number
  -h: Print this help summary page.

 

nmap -A 172.0.0.1

 

 

 

EXAMPLES:

nmap -v -A scanme.nmap.org

 

nmap -v -sP 192.168.0.0/16 10.0.0.0/8


nmap -v -iR 10000 -P0 -p 80

 

nmap -sS -PS80 -iR 0 -p 80
 
nmap scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.0-255
 
nmap –T4 –A –v targethost
其中-A选项用于使用进攻性(Aggressive)方式扫描;-T4指定扫描过程使用的时序(Timing),总有6个级别(0-5),级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,在网络通讯状况良好的情况推荐使用T4;-v表示显示冗余(verbosity)信息,在扫描过程中显示扫描的细节,从而让用户了解当前的扫描状态。
 
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 -- 其它系统进行区域传输时有不同的命令。
 

三,回显内容说明
 

Nmap所识别的6个端口状态。

open(开放的)

应用程序正在该端口接收TCP 连接或者UDP报文。发现这一点常常是端口扫描 的主要目标。安全意识强的人们知道每个开放的端口 都是攻击的入口。攻击者或者入侵测试者想要发现开放的端口。 而管理员则试图关闭它们或者用防火墙保护它们以免妨碍了合法用户。 非安全扫描可能对开放的端口也感兴趣,因为它们显示了网络上那些服务可供使用。

closed(关闭的)

关闭的端口对于Nmap也是可访问的(它接受Nmap的探测报文并作出响应), 但没有应用程序在其上监听。 它们可以显示该IP地址上(主机发现,或者ping扫描)的主机正在运行up 也对部分操作系统探测有所帮助。 因为关闭的关口是可访问的,也许过会儿值得再扫描一下,可能一些又开放了。 系统管理员可能会考虑用防火墙封锁这样的端口。 那样他们就会被显示为被过滤的状态,下面讨论。

filtered(被过滤的)

由于包过滤阻止探测报文到达端口, Nmap无法确定该端口是否开放。过滤可能来自专业的防火墙设备,路由器规则 或者主机上的软件防火墙。这样的端口让攻击者感觉很挫折,因为它们几乎不提供 任何信息。有时候它们响应ICMP错误消息如类型3代码13 (无法到达目标: 通信被管理员禁止),但更普遍的是过滤器只是丢弃探测帧, 不做任何响应。 这迫使Nmap重试若干次以访万一探测包是由于网络阻塞丢弃的。 这使得扫描速度明显变慢。

unfiltered(未被过滤的)

未被过滤状态意味着端口可访问,但Nmap不能确定它是开放还是关闭。 只有用于映射防火墙规则集的ACK扫描才会把端口分类到这种状态。 用其它类型的扫描如窗口扫描,SYN扫描,或者FIN扫描来扫描未被过滤的端口可以帮助确定 端口是否开放。

open|filtered(开放或者被过滤的)

当无法确定端口是开放还是被过滤的,Nmap就把该端口划分成 这种状态。开放的端口不响应就是一个例子。没有响应也可能意味着报文过滤器丢弃 了探测报文或者它引发的任何响应。因此Nmap无法确定该端口是开放的还是被过滤的。 UDP,IP协议, FIN,Null,和Xmas扫描可能把端口归入此类。

closed|filtered(关闭或者被过滤的)

该状态用于Nmap不能确定端口是关闭的还是被过滤的。 它只可能出现在IPID Idle扫描中。

 
 
 
 
posted @ 2017-03-20 01:30  muhe  阅读(1122)  评论(0)    收藏  举报