2024年4月28日发(作者:)

实验2网络端口扫描

一、实验目的

通过练习使用网络端口扫描器,可以了解目标主机开放的端口和服务程序,

从而获取系统的有用信息,发现网络系统的安全漏洞。在实验中,我们将在

Windows操作系统下使用Superscan进行网络端口扫描实验,通过端口扫描实验,

可以增强学生在网络安全方面的防护意识。利用综合扫描软件“流光”扫描系统

的漏洞并给出安全性评估报告。

二、实验原理

(一).端口扫描的原理

一个开放的网络端口就是一条与计算机进行通信的信道,对网络端口的扫描

可以得到目标计算机开放的服务程序、运行的系统版本信息,从而为下一步的入

侵做好准备。对网络端口的扫描可以通过执行手工命令实现,但效率较低;也可

以通过扫描工具实现,效率较高。扫描工具是对目标主机的安全性弱点进行扫描

检测的软件。它一般具有数据分析功能,通过对端口的扫描分析,可以发现目标

主机开放的端口和所提供的服务以及相应服务软件版本和这些服务及软件的安

全漏洞,从而能及时了解目标主机存在的安全隐患。

扫描工具根据作用的环境不同,可分为两种类型:网络漏洞扫描工具和主机

漏洞扫描工具。主机漏洞扫描工具是指在本机运行的扫描工具,以期检测本地系

统存在的安全漏洞。网络漏洞扫描工具是指通过网络检测远程目标网络和主机系

统所存在漏洞的扫描工具。本实验主要针对网络漏洞扫描工具进行介绍。

1.端口的基础知识

为了了解扫描工具的工作原理,首先简单介绍一下端口的基本知识。

端口是TCP协议中所定义的,TCP协议通过套接字(socket)建立起两台计算

机之间的网络连接。套接字采用[IP地址:端口号]的形式来定义,通过套接字中

不同的端口号可以区别同一台计算机上开启的不同TCP和UDP连接进程。对于

两台计算机间的任意一个TCP连接,一台计算机的一个[IP地址:端口]套接字

会和另一台计算机的一个[IP地址:端口]套接字相对应,彼此标识着源端、目的

端上数据包传输的源进程和目标进程。这样网络上传输的数据包就可以由套接字

中的IP地址和端口号找到需要传输的主机和连接进程了。由此可见,端口和服

务进程一一对应,通过扫描开放的端口,就可以判断出计算机中正在运行的服务

进程。

TCP/UDP的端口号在0~65535范围之内,其中1024以下的端口保留给常

用的网络服务。例如,21端口为FTP服务,23端口为TELNET服务,25端口

为SMTP服务,80端口为HTTP服务,110端口为POP3服务等。

2.扫描的原理

扫描的方式有多种,为了理解扫描原理,需要对TCP协议简要介绍一下。

一个TCP头的数据包格式如图2-1所示。它包括6个标志位,其中:

图2-1 TCP数据包格式

SYN用来建立连接。

ACK用来确认标志位,例如,当SYN=1,ACK=0时,表示请求连接的数据

包;当SYN=1,ACK=1时,表示接受连接的数据包。

FIN表示发送端已经没有数据可传了,希望释放连接。

RST位用于复位错误的连接,比如收到的一个数据分段不属于该主机的任何

一个连接,则向远端计算机发送一个RST=1的复位数据包,拒绝连接请求。

根据上面介绍的知识,下面我们介绍基于TCP和UDP协议的几种端口扫描

方式。

(1)TCP全连接扫描TCP全连接扫描方法是利用TCP的3次握手,与目标主

机建立正常的TCP连接,以判断指定端口是否开放。这种方法的缺点是非常容

易被记录或者被检测出来。

(2)TCP SYN扫描本地主机向目标主机发送SYN数据段,如果远端目标主机

端口开放,则回应SYN=1,ACK=1,此时本地主机发送RST给目标主机,拒绝

连接。如果远端目标主机端口未开放,则会回应RST给本地主机。由此可知,

根据回应的数据段可判断目标主机的端口是否开放。由于TCP SYN扫描没有建

立TCP正常连接,所以降低了,被发现的可能,同时提高了扫描性能。

(3)TCP FIN扫描本地主机向目标主机发送FIN=1,如果远端目标主机端口开

放,则丢弃此包,不回应;如果远端目标主机端口未开放,则返回一个RST包。

FIN扫描通过发送FIN的反馈判断远端目标主机的端口是否开放。由于这种扫描

方法没有涉及TCP的正常连接,所以使扫描更隐秘,也称为秘密扫描。这种方

法通常适用于Unix操作系统主机,但有的操作系统(如Windows NT)不管端口是

否打开,都回复RST,此时这种方法就不适用了。

(4)UDP ICMP扫描这种方法利用了UDP协议,当向目标主机的一个未打开

的UDP端口发送一个数据包时,会返回一个ICMP_PORT_UNREACHABLE错

误,这样就会发现关闭的端口。

(5)ICMP扫描这种扫描方法利用了ICMP协议的功能,如果向目标主机发送

一个协议项存在错误的IP数据包,则根据反馈的ICMP错误报文,判断目标主

机使用的服务。

(6)间接扫描入侵者间接利用第三方主机进行扫描,以隐藏真正入侵者的痕

迹。第三方主机是通过其它入侵方法控制主机的,扫描的结果最终会从第三方主

机发送给真正的入侵者。

扫描往往是入侵的前奏,所以如何有效的屏蔽计算机的端口,保护自身计算