Nmap高级用法与典型场景(2)

发表于:2015-07-09来源:uml.org.cn作者:不详点击数: 标签:软件测试
我们可以看到SYN方式探测到3个端口开放,而有997个端口被过滤。Nmap默认扫描只扫描1000个最可能开放的端口,如果想扫描全部的端口,使用命令nmap -sS -T

  我们可以看到SYN方式探测到3个端口开放,而有997个端口被过滤。Nmap默认扫描只扫描1000个最可能开放的端口,如果想扫描全部的端口,使用命令nmap -sS -T4-p-

  FIN扫描

  然后可以利用FIN扫描方式探测防火墙状态。FIN扫描方式用于识别端口是否关闭,收到RST回复说明该端口关闭,否则说明是open或filtered状态。

nmap -sF -T4 

  扫描输出为:

PORT      STATE         SERVICE
  7/tcp     open|filtered echo
  9/tcp     open|filtered discard
  11/tcp    open|filtered systat
  13/tcp    open|filtered daytime
  23/tcp    open|filtered telnet
  25/tcp    open|filtered smtp
  37/tcp    open|filtered time
  79/tcp    open|filtered finger
  80/tcp    open|filtered http

  更多端口,此处省略

  ACK扫描

  然后利用ACK扫描判断端口是否被过滤。针对ACK探测包,未被过滤的端口(无论打开、关闭)会回复RST包。

nmap -sA -T4 
  Not shown: 997 unfiltered ports
  PORT      STATE    SERVICE
  135/tcp   filtered msrpc
  1434/tcp  filtered ms-sql-m
  32777/tcp filtered sometimes-rpc17

  从结果可以997个端口是未被过滤的(unfiltered),而3个(135/1434/32777)被过滤了。所以,将ACK与FIN扫描的结果结合分析,我们可以找到很多开放的端口。例如7号端口,FIN中得出的状态是:open或filtered,从ACK中得出的状态是unfiltered,那么该端口只能是open的。

  Window扫描

  当然也可以利用Window扫描方式,得出一些端口信息,可以与之前扫描分析的结果相互补充。Window扫描方式只对某些TCPIP协议栈才有效。

  window扫描原理与ACK类似,发送ACK包探测目标端口,对回复的RST包中的Window size进行解析。在某些TCPIP协议栈实现中,关闭的端口在RST中会将Window size设置为0;而开放的端口将Window size设置成非0的值。

nmap -sW -p- -T4 docsrv.caldera.com

  输出结果:

PORT      STATE    SERVICE
  7/tcp     open     echo
  9/tcp     open     discard
  11/tcp    open     systat
  13/tcp    open     daytime

  更多端口,此处省略

  在采用多种方式获取出防火墙状态后,可以进一步进行应用程序与版本侦测及OS侦测。

  此处不再赘述!

  3 扫描路由器

  Nmap内部维护了一份系统与设备的数据库(nmap-os-db),能够识别数千种不同系统与设备。所以,可以用来扫描主流的路由器设备。

  3.1 扫描思科路由器

nmap -p1-25,80,512-515,2001,4001,6001,9001 10.20.0.1/16

  思科路由器会在上述端口中运行了常见的服务。列举出上述端口开放的主机,可以定位到路由器设备可能的IP地址及端口状态。

  3.2 扫描路由器TFTP

nmap –sU –p69 –nvv target

  大多数的路由器都支持TFTP协议(简单文件传输协议),该协议常用于备份和恢复路由器的配置文件,运行在UDP 69端口上。使用上述命令可以探测出路由器是否开放TFTP。

原文转自:http://www.ltesting.net