购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2.3 端口扫描器的应用

在诸多端口扫描器中,Nmap是其中的佼佼者——它不仅提供了大量的基于DOS的命令行的选项,还提供了支持Windows操作系统的GUI,能够灵活地满足各种扫描要求,而且输出格式丰富。

Nmap是一个网络探测和安全扫描程序,系统管理者和个人可以使用它扫描大型的网络,获取某台主机正在运行及提供什么服务等信息(注意:Nmap需要WinPcap的支持,所以在安装WinPcap程序之后,Nmap才能正常运行)。

Nmap支持很多扫描技术,如UDP扫描、TCP connect(全连接扫描)、TCP SYN(半开扫描)、FTP代理、反向标志、ICMP、FIN、ACK扫描、圣诞树(Xmas Tree)、SYN扫描和Null扫描。Nmap还提供了一些高级特征,例如,通过TCP/IP栈特征探测操作系统类型,进行秘密扫描、动态延时和重传计算,通过并行Ping扫描探测关闭的主机,进行诱饵扫描,避开端口过滤检测,直接进行RPC扫描(无须端口映射),实现碎片扫描以及灵活的目标和端口设定。在DOS下可以查看Nmap的参数,如图2-7所示。

下面主要介绍扫描方式的原理及具体实例。

图2-7 DOS下的Nmap的参数

计算机每个端口的状态都有open、filtered、unfiltered等。open状态意味着目的主机的端口是开放的,处于监听状态;filtered状态表示防火墙、包过滤和其他网络安全软件掩盖了端口,禁止Nmap探测其是否打开;unfiltered表示端口关闭,并且没有防火墙/包过滤软件来隔离Nmap的探测企图。通常情况下,端口的状态基本上都是unfiltered,所以这种状态不显示。只有在大多数被扫描的端口处于filtered状态时,才会显示处于unfiltered状态的端口。

下面是Nmap支持的4种最基本的扫描方式。

(1)Ping扫描(-sP参数)。

(2)TCP connect( )扫描(-sT参数)。

(3)TCP SYN扫描(-sS参数)。

(4)UDP扫描(-sU参数)。

【例2-1】 -sP扫描。

有时用户只是想知道此时网络中有哪些主机正在运行。此时,Nmap向用户指定的网络内的每个IP地址发送ICMP request数据包,如果主机正在运行,则做出响应。ICMP包本身是一个广播包,是没有端口概念的,只能确定主机的状态,非常适合用于检测指定网段内正在运行的主机数量,-sP扫描结果如图2-8所示。

图2-8 -sP扫描结果

有些站点(如microsoft.com)会阻塞ICMP echo请求数据包,许多个人主机会使用防火墙挡住ICMP包,因此使用Ping扫描无法将其检测出来。

【例2-2】 -sT扫描。

TCP connect( )扫描(-sT参数)是最基本的TCP扫描方式。connect( )是一种系统调用,由操作系统提供,用来打开一个连接。如果目的端口有程序监听,connect( )就会成功返回,否则这个端口是不可达的,-sT扫描结果如图2-9所示。

图2-9 -sT扫描结果

这项技术最大的优点是在UNIX中,用户不需要root权限就可以自由使用。这种扫描很容易被检测到,在目的主机的防火墙日志中会记录大批的连接请求及错误信息。

【例2-3】 -sS扫描。

因为不必全部打开一个TCP连接,所以TCP SYN扫描(-sS参数)通常被称为半开扫描(Half-Open)。可以发出一个TCP同步包(SYN),并等待回应。如果对方返回SYN-ACK(响应)包,则表示目的端口正在监听;如果返回RST数据包,则表示目的端口没有监听程序。如果收到一个SYN/ACK包,则源主机会马上发出一个RST(复位)数据包断开和目的主机的连接。此时,Nmap转入下一个端口。这实际上是由操作系统内核自动完成的。这项技术最大的好处是,很少有系统能够把这些记入系统日志,但是其需要root权限来定制SYN数据包。

在LAN环境下扫描一台主机,测试结果表明TCP SYN扫描大约需要4s,-sS扫描结果如图2-10所示;而TCP connect( )扫描耗时最多,大约需要403s。

图2-10 -sS扫描结果

【例2-4】 UDP扫描(-sU参数)。

这种方法用来确定哪个用户数据报协议(User Datagram Protocol,UDP)端口在主机端开放。这一项技术会发送零字节的UDP信息包到目的主机的各个端口,如果收到一个ICMP端口无法到达的回应,那么该端口是关闭的,否则可以认为该端口是开放的,-sU扫描结果如图2-11所示。

图2-11 -sU扫描结果

除了这几种最基本的扫描方式外,Nmap还提供了几种特殊的扫描方式,用于进行辅助扫描。这里不再做详细介绍。 Nx7oWc5QZCcxrqM6isaJZDZvbgcjpJbtK3VC9WSfGQ3C3ShiLBPzt90JvL6u0IYf

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开