网络扫描专题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• UDP是一个不可靠的无链接的协议, 当向目标主机的UDP端口发送数据, 并不能收到一个开放端口的确认信息,或是关闭端口的错误信息.
– 问题:
• 如果目标主机安装有防火墙或其它可以过滤数据包的软硬件, 发出UDP 数据包后, 将可能得不到任何回应, 误认为所有的被扫描端口都是开放的.
• 由于UDP协议是无连接的协议,这种扫描技术的精确性高度依赖于网络 性能和系统资源。
2020/4/29
C. 其他扫描技术
• 反监测扫描技术
– 慢速扫描 – 随机地址扫描(IP隐藏) – 分片(段)扫描 – 分布式扫描
2020/4/29
C. 其他扫描技术
• 分段扫描
– 不直接发送TCP探测数据包,是将数据包分成两个较小 的IP段。这样就将一个TCP头分成好几个数据包,从而 包过滤器就很难探测到。
• 主机开机且无防火墙
2020/4/29
• 主机未开机
• 方式3:(探测协议)向目标主机发送一个IP包,改变其协议 项,如果返回“Destination unreachable”,则主机没使用这 个协议;如果未返回任何信息则使用该协议了或使用了防火 墙。
• 方式4:当数据包分片且分片未全部收到,接收端会在超时后 发送组装超时ICMP数据包。 – 构造不完整的分片,等待目的主机发来的错误信息。
– 优点:隐蔽性好,可穿越防火墙 – 缺点:
• 可能被丢弃; • 某些程序在处理这些小数据包时会出现异常。
2020/4/29
三、网络扫描的主要技术
• 主机扫描技术 • 端口扫描技术 • 漏洞扫描技术
2020/4/29
漏洞扫描
2020/4/29
漏洞扫描原理
2020/4/29
2020/4/29
2020/4/29
• 优点:
– 简单,系统支持 – 可以通过并行发送,同时探测多个目标主机,以提高探测效率(
ICMP Sweep扫描)
• 缺点:
– 很容易被防火墙限制
2020/4/29
B. Broadcast ICMP扫描
• 实现原理:
– 将ICMP请求包的目标地址设为广播地址或网络地址,则 可以探测广播域或整个网络范围内的主机。
• 缺点:
– 只适合于UNIX/Linux系统,Windows 会忽略这种请求包 ;
– 这种扫描方式容易引起广播风暴 – 很容易被防火墙限制
2020/4/29
C. 主机扫描高级技术
• 原理:
向目标主机发送构造的IP包,探测对方的返回信息。
属第三层攻击。
• 方式1:向目标主机发送一个只有首部的IP包,目标主机将返 回“Destination unreachable”.
– 由于在SYN扫描时,全连接尚未建立,所以这种技术通常被称 为半连接扫描。
• 优点:
– 隐蔽性较全连接扫描好,一般系统对这种半扫描很少记录。
• 缺点:
– 通常构造SYN数据包需要超级用户或者授权用户访问专门的系 统调用。
2020/4/29
2020/4/29
A3. TCP FIN扫描
• 实现原理:
2020/4/29
三、网络扫描的主要技术
• 主机扫描技术 • 端口扫描技术 • 漏洞扫描技术
2020/4/29
(2)端口扫描技术
• 当确定了目标主机可达后,就可以使用端口扫描技术,发现目 标主机的开放端口,包括网络协议和各种应用监听的端口。
• 端口扫描技术主要包括:
– TCP扫描
• 全连接扫描 • 半连接扫描(TCP SYN扫描) • TCP FIN扫描(秘密扫描) • TCP Xmas和TCP Null扫描 • 间接扫描
• 方式2:向目标主机一个IP包,但协议项是错误的。如果目标 主机前有防火墙,则可能被过滤,从而收不到“Destination unreachable”;可以使用一个非常大的数字(当天未用过)作 为协议项,则主机将返回“Destination unreachable”,以此可 以判断:
• 主机开机且有防火墙
跟SYN扫描类似,需要自己构造数据包,要求由超级用户或 者授权用户访问专门的系统调用;
通常适用于UNIX目标主机,在Windows95/NT环境下,该方 法无效,因为不论目标端口是否打开,操作系统都返回RST包。
2020/4/29
A4. TCP Xmas 和TCP Null 扫描
• 实现原理:
– TCP Xmas和Null扫描是FIN扫描的两个变种。Xmas扫描 打开FIN,URG和PUSH标记,而Null扫描关闭所有标记 。目的是为了防止数据包被过滤。
• 优点:
– 隐蔽性好。
• 缺点:
– 需要自己构造数据包,要求由超级用户或者授权用户权 限;
– 通常适用于UNIX目标主机,而Windows系统不支持。
2020/4/29
A5. TCP间接扫描
• 实现原理:
– 利用第三方的IP(欺骗主机)来隐藏真正扫描者的IP。由 于扫描主机会对欺骗主机发送回应信息,所以必须监控 欺骗主机的IP行为,从而获得原始扫描的结果。
• 用途: – 网关或者目标主机利用ICMP与源主机通讯 – 当出现问题时,提供反馈信息用于报告错误
• 特点: – 其控制能力并不用于保证传输的可靠性 – 它本身也不是可靠传输的 – 并不用来反映ICMP报文的传输情况
2020/4/29
三、网络扫描的主要技术
• 主机扫描技术 • 端口扫描技术 • 漏洞扫描技术
– 扫描器向目标主机端口发送FIN包。当一个FIN数据包到达一个关闭 的端口,数据包会被丢掉,并且返回一个RST数据包。否则,若是 打开的端口,数据包只是简单的丢掉(不返回RST)。
2020/4/29
A3. TCP FIN扫描
优点: 由于这种技术不包含标准的TCP三次握手协议的任何部分,
所以无法被记录下来,从而比SYN扫描隐蔽得多,FIN数据包能够 通过只监测SYN包的包过滤器。 缺点:
– UDP扫描 – 其他扫描技术
2020/4/29
A. TCP 扫描
2020/4/29
A1. TCP 全连接扫描
• 实现原理:
– 通过调用socket函数connect()连接到目标计算机上,完成一次 完整的三次握手过程。如果端口处于侦听状态,那么connect() 就能成功返回;否则,这个端口不可用,即没有提供服务。
2020/4/29
扫描防范
2020/4/29
四、常用的端口扫描工具
– UNIX下的端口扫描工具
• Nmap
– Windows下的端口扫描工具
• XScan • SuperScan • Nmap for NT
2020/4/29
2020/4/29
一、扫描的基本概念
• 什么是网络扫描 • 为什么需要网络扫描 • 网络扫描的主要功能
2020/4/29
什么是网络扫描
• 网络扫描是一种检测目标网络或本地 主机安全性脆弱点的技术。
– 安全评估工具 系统管理员保障系统安全的有效工具
– 网络漏洞扫描 网络入侵者收集信息的重要手段
2020/4/29
2020/4/29
(1)主机扫描技术
• 主机扫描的目的是确定在目标网络上的主机是否可 达。这是信息收集的初级阶段,其效果直接影响到 后续的扫描。
• 常用的传统扫描手段有: – ICMP Echo扫描 – ICMP Sweep扫描 – Broadcast ICMP扫描 – 主机扫描高级技术
2020/4/29
2020/4/29
二、扫描的主要步骤
2020/பைடு நூலகம்/29
TCP数据包格式
TCP协议
• TCP标志位 – ACK: – RST: – URG: – SYN: – PSH: – FIN:
2020/4/29
确认标志 复位标志 紧急标志 建立连接标志 推标志 结束标志
ICMP协议
• Internet Control Message Protocol,是IP的一部分 。
• 优点:
– 稳定可靠,不需要特殊的权限。
• 缺点:
– 扫描方式不隐蔽,服务器日志会记录下大量密集的连接和错误 记录 ,并容易被防火墙发现和屏蔽。
2020/4/29
2020/4/29
A2. 半连接(TCP SYN)扫 描
• 实现原理:
– 扫描器向目标主机端口发送SYN包。如果应答是RST包,那么 说明端口是关闭的;如果应答中包含SYN和ACK包,说明目标 端口处于监听状态,再传送一个RST包给目标机从而停止建立 连接。
为什么需要网络扫描
• 由于网络技术的飞速发展,网络规模迅猛增长和计 算机系统日益复杂,导致新的系统漏洞层出不穷。
• 由于系统管理员的疏忽或缺乏经验,导致旧有的漏 洞依然存在。
• 许多人出于好奇或别有用心,不停的窥视网上资源 。
2020/4/29
网络扫描器的主要功能
• 扫描目标主机识别其工作状态(开/关机) • 识别目标主机端口的状态(开/关闭) • 识别目标主机系统及服务程序的类型和版本 • 根据已知漏洞信息,分析系统脆弱点 • 生成扫描结果报告
A. ICMP echo扫描
• 实现原理:
Ping的实现机制,在判断在一个网络上主机是否开机时非常有用。向 目标主机发送ICMP Echo Request (type 8)数据包,等待回复的ICMP Echo Reply 包(type 0) 。如果能收到,则表明目标系统可达,否则表 明目标系统已经不可达或发送的包被对方的设备过滤掉。
– 扫描主机通过伪造第三方主机IP地址向目标主机发起SYN 扫描,并通过观察其报文段序列号的增长规律获取端口 的状态 。
• 优点:隐蔽性好。 • 缺点:对第三方主机的监控要求较高 。
2020/4/29
2020/4/29
B. UDP扫描
– 扫描UDP端口只有一种方法
• 向一个未开放的UDP端口发送数据时, 其主机就会反回一个ICMP不可达 信息, 因此大多数UDP端口扫描的方法就是向各个被扫描的UDP端口发 送零字节的UDP数据包, 如果收到一个ICMP不可到达的回应, 则认为这 个端口是关闭的, 对于没有回应的端口则认为是开放的。
– 问题:
• 如果目标主机安装有防火墙或其它可以过滤数据包的软硬件, 发出UDP 数据包后, 将可能得不到任何回应, 误认为所有的被扫描端口都是开放的.
• 由于UDP协议是无连接的协议,这种扫描技术的精确性高度依赖于网络 性能和系统资源。
2020/4/29
C. 其他扫描技术
• 反监测扫描技术
– 慢速扫描 – 随机地址扫描(IP隐藏) – 分片(段)扫描 – 分布式扫描
2020/4/29
C. 其他扫描技术
• 分段扫描
– 不直接发送TCP探测数据包,是将数据包分成两个较小 的IP段。这样就将一个TCP头分成好几个数据包,从而 包过滤器就很难探测到。
• 主机开机且无防火墙
2020/4/29
• 主机未开机
• 方式3:(探测协议)向目标主机发送一个IP包,改变其协议 项,如果返回“Destination unreachable”,则主机没使用这 个协议;如果未返回任何信息则使用该协议了或使用了防火 墙。
• 方式4:当数据包分片且分片未全部收到,接收端会在超时后 发送组装超时ICMP数据包。 – 构造不完整的分片,等待目的主机发来的错误信息。
– 优点:隐蔽性好,可穿越防火墙 – 缺点:
• 可能被丢弃; • 某些程序在处理这些小数据包时会出现异常。
2020/4/29
三、网络扫描的主要技术
• 主机扫描技术 • 端口扫描技术 • 漏洞扫描技术
2020/4/29
漏洞扫描
2020/4/29
漏洞扫描原理
2020/4/29
2020/4/29
2020/4/29
• 优点:
– 简单,系统支持 – 可以通过并行发送,同时探测多个目标主机,以提高探测效率(
ICMP Sweep扫描)
• 缺点:
– 很容易被防火墙限制
2020/4/29
B. Broadcast ICMP扫描
• 实现原理:
– 将ICMP请求包的目标地址设为广播地址或网络地址,则 可以探测广播域或整个网络范围内的主机。
• 缺点:
– 只适合于UNIX/Linux系统,Windows 会忽略这种请求包 ;
– 这种扫描方式容易引起广播风暴 – 很容易被防火墙限制
2020/4/29
C. 主机扫描高级技术
• 原理:
向目标主机发送构造的IP包,探测对方的返回信息。
属第三层攻击。
• 方式1:向目标主机发送一个只有首部的IP包,目标主机将返 回“Destination unreachable”.
– 由于在SYN扫描时,全连接尚未建立,所以这种技术通常被称 为半连接扫描。
• 优点:
– 隐蔽性较全连接扫描好,一般系统对这种半扫描很少记录。
• 缺点:
– 通常构造SYN数据包需要超级用户或者授权用户访问专门的系 统调用。
2020/4/29
2020/4/29
A3. TCP FIN扫描
• 实现原理:
2020/4/29
三、网络扫描的主要技术
• 主机扫描技术 • 端口扫描技术 • 漏洞扫描技术
2020/4/29
(2)端口扫描技术
• 当确定了目标主机可达后,就可以使用端口扫描技术,发现目 标主机的开放端口,包括网络协议和各种应用监听的端口。
• 端口扫描技术主要包括:
– TCP扫描
• 全连接扫描 • 半连接扫描(TCP SYN扫描) • TCP FIN扫描(秘密扫描) • TCP Xmas和TCP Null扫描 • 间接扫描
• 方式2:向目标主机一个IP包,但协议项是错误的。如果目标 主机前有防火墙,则可能被过滤,从而收不到“Destination unreachable”;可以使用一个非常大的数字(当天未用过)作 为协议项,则主机将返回“Destination unreachable”,以此可 以判断:
• 主机开机且有防火墙
跟SYN扫描类似,需要自己构造数据包,要求由超级用户或 者授权用户访问专门的系统调用;
通常适用于UNIX目标主机,在Windows95/NT环境下,该方 法无效,因为不论目标端口是否打开,操作系统都返回RST包。
2020/4/29
A4. TCP Xmas 和TCP Null 扫描
• 实现原理:
– TCP Xmas和Null扫描是FIN扫描的两个变种。Xmas扫描 打开FIN,URG和PUSH标记,而Null扫描关闭所有标记 。目的是为了防止数据包被过滤。
• 优点:
– 隐蔽性好。
• 缺点:
– 需要自己构造数据包,要求由超级用户或者授权用户权 限;
– 通常适用于UNIX目标主机,而Windows系统不支持。
2020/4/29
A5. TCP间接扫描
• 实现原理:
– 利用第三方的IP(欺骗主机)来隐藏真正扫描者的IP。由 于扫描主机会对欺骗主机发送回应信息,所以必须监控 欺骗主机的IP行为,从而获得原始扫描的结果。
• 用途: – 网关或者目标主机利用ICMP与源主机通讯 – 当出现问题时,提供反馈信息用于报告错误
• 特点: – 其控制能力并不用于保证传输的可靠性 – 它本身也不是可靠传输的 – 并不用来反映ICMP报文的传输情况
2020/4/29
三、网络扫描的主要技术
• 主机扫描技术 • 端口扫描技术 • 漏洞扫描技术
– 扫描器向目标主机端口发送FIN包。当一个FIN数据包到达一个关闭 的端口,数据包会被丢掉,并且返回一个RST数据包。否则,若是 打开的端口,数据包只是简单的丢掉(不返回RST)。
2020/4/29
A3. TCP FIN扫描
优点: 由于这种技术不包含标准的TCP三次握手协议的任何部分,
所以无法被记录下来,从而比SYN扫描隐蔽得多,FIN数据包能够 通过只监测SYN包的包过滤器。 缺点:
– UDP扫描 – 其他扫描技术
2020/4/29
A. TCP 扫描
2020/4/29
A1. TCP 全连接扫描
• 实现原理:
– 通过调用socket函数connect()连接到目标计算机上,完成一次 完整的三次握手过程。如果端口处于侦听状态,那么connect() 就能成功返回;否则,这个端口不可用,即没有提供服务。
2020/4/29
扫描防范
2020/4/29
四、常用的端口扫描工具
– UNIX下的端口扫描工具
• Nmap
– Windows下的端口扫描工具
• XScan • SuperScan • Nmap for NT
2020/4/29
2020/4/29
一、扫描的基本概念
• 什么是网络扫描 • 为什么需要网络扫描 • 网络扫描的主要功能
2020/4/29
什么是网络扫描
• 网络扫描是一种检测目标网络或本地 主机安全性脆弱点的技术。
– 安全评估工具 系统管理员保障系统安全的有效工具
– 网络漏洞扫描 网络入侵者收集信息的重要手段
2020/4/29
2020/4/29
(1)主机扫描技术
• 主机扫描的目的是确定在目标网络上的主机是否可 达。这是信息收集的初级阶段,其效果直接影响到 后续的扫描。
• 常用的传统扫描手段有: – ICMP Echo扫描 – ICMP Sweep扫描 – Broadcast ICMP扫描 – 主机扫描高级技术
2020/4/29
2020/4/29
二、扫描的主要步骤
2020/பைடு நூலகம்/29
TCP数据包格式
TCP协议
• TCP标志位 – ACK: – RST: – URG: – SYN: – PSH: – FIN:
2020/4/29
确认标志 复位标志 紧急标志 建立连接标志 推标志 结束标志
ICMP协议
• Internet Control Message Protocol,是IP的一部分 。
• 优点:
– 稳定可靠,不需要特殊的权限。
• 缺点:
– 扫描方式不隐蔽,服务器日志会记录下大量密集的连接和错误 记录 ,并容易被防火墙发现和屏蔽。
2020/4/29
2020/4/29
A2. 半连接(TCP SYN)扫 描
• 实现原理:
– 扫描器向目标主机端口发送SYN包。如果应答是RST包,那么 说明端口是关闭的;如果应答中包含SYN和ACK包,说明目标 端口处于监听状态,再传送一个RST包给目标机从而停止建立 连接。
为什么需要网络扫描
• 由于网络技术的飞速发展,网络规模迅猛增长和计 算机系统日益复杂,导致新的系统漏洞层出不穷。
• 由于系统管理员的疏忽或缺乏经验,导致旧有的漏 洞依然存在。
• 许多人出于好奇或别有用心,不停的窥视网上资源 。
2020/4/29
网络扫描器的主要功能
• 扫描目标主机识别其工作状态(开/关机) • 识别目标主机端口的状态(开/关闭) • 识别目标主机系统及服务程序的类型和版本 • 根据已知漏洞信息,分析系统脆弱点 • 生成扫描结果报告
A. ICMP echo扫描
• 实现原理:
Ping的实现机制,在判断在一个网络上主机是否开机时非常有用。向 目标主机发送ICMP Echo Request (type 8)数据包,等待回复的ICMP Echo Reply 包(type 0) 。如果能收到,则表明目标系统可达,否则表 明目标系统已经不可达或发送的包被对方的设备过滤掉。
– 扫描主机通过伪造第三方主机IP地址向目标主机发起SYN 扫描,并通过观察其报文段序列号的增长规律获取端口 的状态 。
• 优点:隐蔽性好。 • 缺点:对第三方主机的监控要求较高 。
2020/4/29
2020/4/29
B. UDP扫描
– 扫描UDP端口只有一种方法
• 向一个未开放的UDP端口发送数据时, 其主机就会反回一个ICMP不可达 信息, 因此大多数UDP端口扫描的方法就是向各个被扫描的UDP端口发 送零字节的UDP数据包, 如果收到一个ICMP不可到达的回应, 则认为这 个端口是关闭的, 对于没有回应的端口则认为是开放的。