5.3 端口扫描:Zenmap工具的应用

目录

一、预备知识:端口扫描

二、实验环境

三、实验步骤


一、预备知识:端口扫描

        端口扫描(Port Scan)是对正处于运行状态的主机使用的TCP/UDP端口进行探测的技术。端口是用于标识计算机应用层中的各个进程在与传输层交互时的层间接口地址,两台计算机间的进程在通信时,不仅仅要知道对方的IP地址,还要知道对方的端口号。为此,可以将端口理解为进入计算机应用进程的窗口,在TCP和UDP协议中端口用16b字段表示,其值为0~65535。传输层的端口分为服务器端使用的端口号和客户端使用的端口号两大类。其中,服务器端使用的端口号又分为两类:一类称为熟知端口号(Well KnownPorts)或系统端口号,其值为0~1023;另一类称为登记端口号,其值为1024~49 151,使用这类端口时需要在IANA( the InternetAssigned Numbers Authority,互联网数字分配机构)上进行登录。客户端使用的端口号称为短暂端口号,其值为49152~65535,仅在客户进程运行时临时使用,通信结束后收回。
        由于TCP协议和 UDP协议可以使用相同的端口号(如 DNS同时使用了TCP 53和UDP 53两个端口号),因此端口扫描需要分别针对TCP和UDP协议的端口号进行扫描。由于TCP协议要比UDP协议复杂,因此针对TCP端口的扫描也要比UDP端口扫描复杂。TCP端口扫描包括连接(connect)扫描、SYN扫描、TCP窗口扫描、FIN扫描、ACK扫描等。

1.连接扫描

        攻击者(扫描主机)通过调用系统的connect()函数,可以与目标主机的每个端口尝试通过三次握手建立TCP连接,在攻击者发起连接请求(第一次握手)后,如果目标主机上对应的端口打开,则返回一个第二次握手的ACK/SYN报文,connect()调用将再发送一个ACK确认报文以完成第三次握手。如果目标端口是关闭的,那么目标主机将会直接返回一个RST报文。基于此工作原理,通过分析不同目标端口的返回报文信息,攻击者就可以判断哪些端口是开放或关闭的。该方法实现简单,但目标主机上会记录相关的尝试连接信息,容易被系统管理员或安全检测软件发现。

2.SYN扫描

        SYN扫描也称为半开连接扫描,是对连接扫描的一种改进。在连接扫描方法中,当被扫描端口打开时,目标主机会返回一个SYN/ACK报文。当攻击者收到第二次握手的SYN/ACK报文时,其实不需要进行第三次ACK握手,就已经判断出被扫描端口当前处于打开状态。不过,当目标主机(Server)向TCP连接请求者(Client)返回SYN/ACK报文后,将处于“半开连接”状态,等待请求者的ACK确认,以便完成第三次握手过程。此时,攻击者并没有向目标主机返回ACK确认报文,而是构造了一个RST报文,让目标主机释放该“半开连接”。
        由于各类操作系统一般不会记录“半开连接”信息,因此SYN扫描的安全性要比连接扫描好。

3.UDP端口扫描

        UDP端口扫描用于探测目标主机上打开的UDP端口和网络服务。UDP端口扫描的实现原理是:首先构造并向目标主机发送一个特殊的UDP报文,如果被扫描的UDP端口关闭,将返回一个基于ICMP协议的“端口不可达”差错报文;如果被扫描的UDP端口处于打开状态,处于“监听”状态的UDP网络服务将响应特殊定制的数据报文,从而返回UDP数据。
        UDP端口扫描的实现原理简单,效率较高。但是如果被探测的网络服务是一个未知的应用时,就可能无法返回UDP数据。

二、实验环境

        攻击机:BT5

        靶机:windows XP

三、实验步骤

1、登录到BT5,按如下图示,启动Zenmap。

 2、可以在”Profile“栏中查看Zenmap默认的扫描方式。

3、如果默认扫描方式不符合攻击者的当前要求,可以创建一个新的扫描(New Profile or Command),或者在已有扫描方式的基础上进行编辑(Edit Selected Profile)。本实验新建一个扫描。

 4、创建一个新的扫描。首先在”Profile“选项卡的”Profile name“中填写本次扫描操作的名称;

        填写目标网段,根据需要合理配置相关的选项。

 

        将相关信息输入完之后,单击”save change“进行保存。

5、在”Profile“中选择我们刚刚新建的扫描”scan“,且单击scan按钮,对目标网段中存在的主机进行端口扫描。

         扫描结果如下:
 

 6、单击”Topology“按钮,可以查看扫描发现的网络拓扑结构。

7、选择”scan“——”save scan“,可以对Zenmap的扫描结果进行保存。

 

8、在实验中,可以对同一对象范围或者同一对象范围中的不同部分进行多次扫描,并对扫描结果进行比较,看是否存在不同。本次实验,保存第一次扫描结果后,缩小扫描范围,进行第二次扫描,并保存扫描结果。

9、选择"Tools"——”Compare Result“选项,对两次扫描结果进行比较。

      

猜你喜欢

转载自blog.csdn.net/qq_55202378/article/details/126135746
5.3