Nmap(二)

Nmap使用

Nmap是主机扫描工具,他的图形化界面是Zenmap,分布式框架为Dnamp。

Nmap可以完成以下任务:

  • 主机探测
  • 端口扫描
  • 版本检测
  • 系统检测
  • 支持探测脚本的编写
  • Nmap在实际中应用场合如下:
  • 通过对设备或者防火墙的探测来审计它的安全性
  • 探测目标主机所开放的端口
  • 通过识别新的服务器审计网络的安全性
  • 探测网络上的主机

简要回顾Nmap简单的扫描方式:
全面扫描:nmap-T4 -A targetip

主机发现:nmap-T4 -sn targetip

端口扫描:nmap-T4 targetip

服务扫描:nmap-T4 -sV targetip

操作系统扫描:nmap-T4 -O targetip 

1.2  指定网口与IP地址



在Nmap可指定用哪个网口发送数据,-e <interface>选项。接口的详细信息可以参考–iflist选项输出结果。

示例:

nmap -e eth0 targetip

Nmap也可以显式地指定发送的源端IP地址。使用-S <spoofip>选项,nmap将用指定的spoofip作为源端IP来发送探测包。

另外可以使用Decoy(诱骗)方式来掩盖真实的扫描地址,例如-D ip1,ip2,ip3,ip4,ME,这样就会产生多个虚假的ip同时对目标机进行探测,其中ME代表本机的真实地址,这样对方的防火墙不容易识别出是扫描者的身份。

nmap -T4 -F -n -Pn -D192.168.1.100,192.168.1.101,192.168.1.102,ME 192.168.1.1
1.3  定制探测包



Nmap提供–scanflags选项,用户可以对需要发送的TCP探测包的标志位进行完全的控制。可以使用数字或符号指定TCP标志位:URG, ACK, PSH,RST, SYN,and FIN。

例如,

nmap -sX -T4 –scanflags URGACKPSHRSTSYNFINtargetip

此命令设置全部的TCP标志位为1,可以用于某些特殊场景的探测。

另外使用–ip-options可以定制IP包的options字段。

使用-S指定虚假的IP地址,-D指定一组诱骗IP地址(ME代表真实地址)。-e指定发送探测包的网络接口,-g(–source- port)指定源端口,-f指定使用IP分片方式发送探测包,–spoof-mac指定使用欺骗的MAC地址。–ttl指定生存时间。
2     扫描防火墙

防火墙在今天网络安全中扮演着重要的角色,如果能对防火墙系统进行详细的探测,那么绕开防火墙或渗透防火墙就更加容易。所以,此处讲解利用Nmap获取防火墙基本信息典型的用法。

为了获取防火墙全面的信息,需尽可能多地结合不同扫描方式来探测其状态。在设计命令行参数时,可以综合网络环境来微调时序参数,以便加快扫描速度。

SYN扫描

首先可以利用基本的SYN扫描方式探测其端口开放状态。

nmap -sS -T4 www.fakefirewall.com

   1. All 997 ports are filtered
   2. PORT    STATE  SERVICE
   3. 80/tcp  open   http
   4. 113/tcp closed auth
   5. 507/tcp open   crs

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

FIN扫描

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

nmap -sF -T4 www.fakefirewall.com

扫描输出为:

   1. PORT      STATE         SERVICE
   2. 7/tcp     open|filtered echo
   3. 9/tcp     open|filtered discard
   4. 11/tcp    open|filtered systat
   5. 13/tcp    open|filtered daytime
   6. 23/tcp    open|filtered telnet
   7. 25/tcp    open|filtered smtp
   8. 37/tcp    open|filtered time
   9. 79/tcp    open|filtered finger
  10. 80/tcp    open|filtered http
  11. 更多端口,此处省略

ACK扫描

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

nmap -sA -T4 www.fakefirewall.com

   1. Not shown: 997 unfiltered ports
   2. PORT      STATE    SERVICE
   3. 135/tcp   filtered msrpc
   4. 1434/tcp  filtered ms-sql-m
   5. 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

输出结果:

   1. PORT      STATE    SERVICE
   2. 7/tcp     open     echo
   3. 9/tcp     open     discard
   4. 11/tcp    open     systat
   5. 13/tcp    open     daytime
   6. 更多端口,此处省略

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值