资源预览内容
第1页 / 共19页
第2页 / 共19页
第3页 / 共19页
第4页 / 共19页
第5页 / 共19页
第6页 / 共19页
第7页 / 共19页
第8页 / 共19页
第9页 / 共19页
第10页 / 共19页
亲,该文档总共19页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
网络扫描的研究 专 业:xxxxxxx 学 号:xxxxxxx 姓 名:xxxxxxx 指导老师 :xxxxxxx 计算机科学与技术学院 2012年11月11日 引言2一、扫描需要的协议21、ICMP协议22、TCP协议简介33、UDP协议简介4二、常见的网络扫描技术分析及应用51、PING扫描51.1 Ping基本原理51.2 Ping命令试验51.3技术分析72、TCP全扫描82.1 全扫描基本原理82.2 Tcp全扫描试验92.3 结果分析113、TCP SYN扫描113.2 SYN半扫描测试1233结果分析134、Null扫描134.1 null扫描原理134.2null扫描测试134.3结果分析155、UDP端口扫描155.1 udp扫描原理155.2 udp扫描实验16三、研究结论17引言 收集目标网络和主机的信息, 是维护网络安全的第一步。在网络安全人员看来, 只有收集到了足够、有效的信息, 才有可能防止潜在的攻击行为。正如安全专家所做的那样, 黑客也会尽可能地收集信息, 看系统是否存在漏洞或者弱点以实施攻击。双方攻防的第一步, 主要集中在网络安全扫描领域。网络扫描, 是基于Internet 的探测远端网络或主机信息的一种技术, 也是保证系统和网络安全必不可少的一种手段。网络扫描, 是对计算机主机或者其它网络设备进行安全性检测, 以找出安全隐患和系统漏洞。但是, 网络扫描软件事实上也是一把双刃剑: 入侵者利用它来寻找对系统发起攻击的途径, 而系统管理员则利用它来有效防范黑客入侵。通过网络扫描, 扫描者能够发现远端网络或主机的配置信息、TCP/UDP端口的分配、提供的网络服务、服务器的具体信息等。网络扫描可以划分为ping扫描、端口扫描、操作系统探测、弱点探测、防火墙规则探测五种主要技术, 运用的原理各不相同。一、扫描需要的协议1、ICMP协议 Internet控制报文协议(Internet Control Messages Protocol,ICMP)允许主机或路由器报告差错情况和提供有关异常情况的报告。一般来说,ICMP报文提供针对网络层的错误诊断、拥塞控制、路径控制和查询服务四项功能。ICMP协议扫描充分利用了ICMP协议的各种功能,在ICMP协议中定义了多种类型的ICMP报文。一般的ICMP报文的首部如图6-2所示。类型字段表示ICMP报文的种类,它是ICMP报文中的第一个字段。代码字段进一步限定了ICMP报文种类。校验和字段存储了ICMP所使用的校验和值。ICMP报文大体可以分为两种类型,即ICMP差错报文和ICMP询问报文。每个ICMP报头均包含类型、代码和校验和这三项内容,长度为8位、8位和16位,其余选项则随ICMP的功能不同而不同。根据不同的功能需要,在ICMP中提供了多种ICMP报文数据格式。2、TCP协议简介 TCP协议是TCP/IP协议族中的面向连接的、可靠的传输层协议。TCP允许发送和接收字节流形式的数据。TCP在报文中加上一个递进的确认序列号来告诉发送者,接收者期望收到的下一个字节,如果在规定时间内,没有收到关于这个包的确认响应,则重新发送此包,这保证了TCP是一种可靠的传输层协议。图19-3-1 TCP报文格式在TCP报文格式中,有一些关键的字段,其含义如下:源端口:该字段定义了发送这个报文的应用程序的端口号。目的端口:该字段定义了接收这个报文的应用程序的端口号。控制:该字段定义了8种不同的控制位或标志。如图19-3-2所示。在一个报文中可设置一位或多位标志。这些位用在TCP的流量控制、连接建立和终止以及数据传送的方式等方面。图19-3-2 控制字段3、UDP协议简介 UDP(User Datagram Protocol)用户数据报协议,主要用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。UDP协议直接位于IP(网际协议)协议的上层。根据OSI参考模型,UDP和TCP都属于传输层协议。UDP协议不提供端到端的确认和重传功能,它不保证信息包一定能到达目的地,因此称为不可靠协议。 图19-3-5显示了UDP报文格式。每个UDP报文两个部分:UDP首部和UDP数据区。首部被分为四个16位的字段,分别代表源端口号目的端口号报文的长度以及UDP校验和。源端口(16位)目的端口(16位)有效负载长度(16位)校验和(16位)数据图19-3-5 UDP报文格式在UDP报文格式中,有一些关键的字段,其含义如下: 源端口:表示发送端的端口号。如果源端口没有使用,那么此字段的值就被指定为0。这是一个可选的字段。 目的端口:表示目的端的端口号。UDP协议使用端口号为不同的应用保留其各自的数据传输通道。UDP和TCP协议正是采用这一机制实现对同一时刻内多个应用程序同时发送和接收数据的支持。数据发送一方(可以是客户端或服务器端)将UDP数据报通过源端口发送出去,而数据接收一方则通过目标端口接收数据。有的网络应用只能使用预先为其预留或注册的静态端口;而另外一些网络应用则可以使用未被注册的动态端口。因为UDP报头使用两个字节存放端口号,所以端口号的有效范围是从0到65535。二、常见的网络扫描技术分析及应用1、PING扫描1.1 Ping基本原理Ping利用ICMP协议包来侦测另一个主机是否可达。原理是发送ICMP回送请求消息(类型码为8)给目的主机。ICMP协议规定:目的主机必须返回ICMP回送应答消息给源主机。如果源主机在一定时间内收到类型码为0的ICMP回应信息,则认为主机可达。Ping程序来计算间隔时间,并计算有多少个包被送达。用户就可以判断网络大致的情况。1.2 Ping命令试验试验环境:扫描主机A:172.16.1.5 OS:windowsXP 被扫描主机B:172.16.1.3 OS:windowsXP首先我们在B主机上不安装任何的防火墙,只安装wireshark检测网卡上收到的数据包在没有开启防火墙的情况下主机A显示能扫描到主机B 同样主机B上的wireshark软件也检测到了主机A发送到B上的ICMP的请求数据包现在再在B主机上安装瑞星防火墙,来对B主机开启安全防护再用主机A对主机B进行ping操作现在主机A上显示扫描不到主机B同时防火墙上显示出对主机A的ping操作进行的拦截1.3技术分析最常用的ICMP扫描方法就是利用PING的原理,发送ICMP回显请求报文,然后监听是否有ICMP回显应答报文返回,如果没有就证明目标主机不存在或者已经停机,如果能够返回ICMP回显应答报文,就证明主机正在运行。其过程如图3-9所示。(点击查看大图)图3-9 ICMP回显探测显然防火墙阻断了主机B的ICMP的回显请求,而导致主机A扫描不到主机B2、TCP全扫描2.1 全扫描基本原理 TCP全扫描也叫做TCP Connect扫描,这种扫描方法很简单,直接连接到目标端口并完成一个完整的三次握手过程(SYN,SYN/ACK,和ACK)。操作系统提供了“connect()”函数来完成系统调用,用来与每一个感兴趣的目标计算机的端口进行连接。如果端口处于侦听状态,那么connect()函数就能成功。否则,connect()函数将调用失败。这个技术的优点是不需要任何权限,系统中的任何用户都有权利使用这个调用。另一个优点是速度。如果对每个目标端口以线性的方式使用单独的connect()函数调用,那么将会花费相当长的时间,你可以通过同时打开多个套接字,从而加速扫描。但这种方法的缺点是很容易被发觉,并且很容易被过滤掉。目标计算机的日志文件会显示一连串的连接和连接出错的服务消息,目标计算机用户发现后就能很快使它关闭。 图19-3-3是端口开放与端口关闭时TCP全扫描情况。图19-3-3 TCP全扫描2.2 Tcp全扫描试验测试环境: 扫描主机A:192.168.0.133 OS:windowsXP 使用软件:Zenmap被扫描主机B:192.168.0.105 OS:windowsXP 使用的检测软件:萨客嘶入侵检测系统1.0 wireshark1.8.3 金山个人防火墙再打开防火墙之前先用Zenmap对B主机进行扫描扫描结果如下图,显示有1351394452383号端口打开同时主机B上显示有大量的来于192.168.0.133的初始化连接,但总是连接失败打开防火墙重新重复以上操作主机B上截获大量的未成功的Tcp连接,而且数据包里面内容长度都为0入侵检测系统上面也显示有未连接成功的Tcp连接同样,防火墙上有被恶意端口扫描的记录2.3 结果分析主机A能成功扫描到主机B,但是大量的连接和连接出错的服务消息很快被防火墙给阻止3、TCP SYN扫描3.1 SYN半扫描原理TCP SYN扫描也叫做半开放式扫描(half-open scanning),因为它没有完成一个完整的TCP协议三次握手过程。TCP SYN扫描方法向目标端口发送一个TCP SYN分组,如果目标端口返回SYN/ACK标志,那么可以肯定该端口处于侦听状态,接下来必须再向目标发送一个RST分组,来关闭这个连接;返回RST/ACK标志则表示端口没有处于监听状态。这种方法比TCP全扫描方法更具隐蔽性,可能不会在目标主机中留下扫描痕迹。但这种方法实现比较复杂。图19-3-4是端口开放与端口关闭时TCP SYN扫描情况。图19-3-4 TCP SYN扫描3.2 SYN半扫描测试主机A上同样能扫描到主机B上的端口信息主机B上用wireshark软件记录了大量的半连接的Tcp记录但是金山防火墙上却没有恶意扫描的记录33结果分析显然半扫描比全扫描更具隐蔽性4、Null扫描4.1 null扫描原理有时甚至SYN扫描都不够隐蔽,一些防火墙及信息包过滤装置会在重要端口守护,SYN包在此时会被截获,一些应用软件如Synlogger以及Courtney对侦测这类型的扫描都是行家。关闭的端口会对你发送的探测信息包返回一个RST,而打开的端口则对其忽略不理(你可以参阅RFC 973PP64)。所以FIN扫描使用空的FIN信息包作为探针、Xmastree使用FIN,URG,PUSH标记、Null扫描则不用任何标记。但是不幸的是微软以他们一贯的风格不理睬这一标准所以这一扫描在WINDOWS9X以及NT下不能工作。4.2null扫描测试本机测试的平台测试的系统都是windows系统,所以Null扫描模式在实验的结果没有扫描到任何的端口,防火墙上也没有任何记录,但B主机上的网卡却有主机A发来的大量tcp数据包Zenmap上没有扫描到任何信息金山也没有捕获恶意扫描大量的tcp连接成功的建立4.3结果分析这其实也是一个很好的区分平台的办法如果扫描发现了打开的端口,那你就能明白这台机器不
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号