20、通过协议分析理解端口扫描原理_图文
20通过协议分析理解端口扫描原理
1.1. 概述
端口扫描通常利用 TCP、UDP 等方式去检测操作系统类型及开放的服务,为进一步的攻击做好准备。通常,蠕虫病毒、网络攻击等常见影响网络安全的行为,都是从扫描开始的。所以,深入了解各种网络扫描 的工作原理及其
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
现特征,对网络管理者具有相当的实战意义。
NMAP 作为常见的网络扫描工具,内置了多种扫描方式,每种方式的工作原理不同,其数据包和通讯特 征也不尽相同;这里我们将通过网络分析软件对常见扫描方式进行分析和图形化的展现,以方便对这些扫描 方式进行深入的理解。
1.2. 扫描分析
1.2.1. TCP SYN 扫描
, 扫描原理
TCP SYN 扫描应该是最受欢迎的扫描之一,其扫描速度快(每秒可以扫描数以千计的端口),兼容性好 (只要对端支持 TCP 协议栈即可),且不易被发现。
TCP SYN 扫描通常又叫―半开放‖扫描,因为它不必打开一个完整的 TCP 连接,它发送一个 SYN 包,就 像真的要打开一个连接一样,然后等待对端的反应。如果对端返回 SYN/ACK 报文则表示该端口处于监听状 态,此时,扫描端则必须再返回一个 RST 报文来关闭此连接;返回 RST 报文则表示该端口没有开放。 , 深入理解
TCP SYN 扫描在科来网络分析中的视图表现:
(数据包统计)
(TCP FLAG 统计)
(诊断提示)
(TCP 会话统计)
(端口处于监听状态)
(端口处于关闭状态)
, 分析总结
, 会话数据包总计为 2 个或 3 个,2 个包表示端口未开放,3 个包表示端口开放; , 以固定端口与被扫描 IP 尝试连接,且会话大多具有相同的特征;
, 在 TCP Flag 统计中 TCP 同步位发送和 TCP 复位接收较多;
, 小包多(<128 字节)。
1.2.2. TCP connect 扫描
, 扫描原理
TCP connect()扫描也是一种常见的扫描方式,它通过操作系统与目标机器建立连接,而不是直接发送原 始数据包,这与浏览器、P2P 客户端及其大多数网络应用程序一样,建立连接由高层系统调用。执行这种扫 描的最大好处是无需 root 权限,但会在系统日志里留下记录,所以当在日志系统里看到同一系统的大量连接 尝试,就应该知道系统被扫描了。
, 深入理解
TCP CONNECT()扫描在科来网络分析中的视图表现:
(数据包统计)
(TCP FLAG 统计)
(TCP 会话统计)
(端口处于监听状态)
, 分析总结
1、会话数据包总计为 2-6 个不等,需查看数据信息确认端口状态;
2、以连续端口与被扫描 IP 尝试连接,且会话大多具有相同的特征;
3、在 TCP Flag 统计中 TCP 同步位发送和 TCP 复位接收较多,同时会有少量的同步接受和复位包发送;
4、小包多(<128 字节)。
1.2.3. UDP 扫描
, 扫描原理
UDP 扫描通常与 ICMP 相结合进行,它发送没有携带任何数据的 UDP 数据包到目标主机,如果返回 ICMP 端口不可达(类型为 3,代码为 3)提示,则表示目标端口是关闭的,但主机是存活的;如果某服务响 应一个 UDP 报文,则表明该端口是开放的。
当然,UDP 扫描存在瓶颈,那就是速度。很多主机默认限制发送 ICMP 端口不可达信息,或者限制发包 的频率如 Linux2.4.20 内核就只允许一秒钟发送一条目标不可达信息,这样扫描 65535 个端口需要 18 小时 的时间,这是不可接受的,所以加速 UDP 扫描的方法通常是并发扫描或先扫描主要端口。 , 深入理解
UDP 扫描在科来网络分析中的视图表现:
(会话统计)
(数据包分布)
(诊断提示)
(UDP 会话统计)
(不携带数据)
, 分析总结
1、会话数据包总计为 1-2 个,通常情况 1 个表示端口关闭,2 个或以上表示端口开放;
2、以固定端口向被扫描 IP 发包,且会话大多具有相同的特征;
3、大量的 UDP 小包,且不携带任何数据。
1.2.4. NULL 扫描
, 扫描原理
根据 RFC 793,主机发送一个没有任何标志位的 TCP 包,如果目标主机的对应端口是关闭的话,则会 返回一个 RST 数据包,如果没有响应则表示该端口是开放的。
NULL 扫描可以躲过无状态防火墙和报文过滤路由器,且比 SYN 扫描要隐秘。值得注意的是并不是所有 系统都遵循 RFC 793,一些系统不管端口是开放还是关闭都响应 RST 数据包,如 cisco 设备、BSDI 等。
根据 RFC793,类似的扫描还有 FIN 扫描、 FIN+PSH+URG 扫描。
, 深入理解
NULL 扫描在科来网络分析中的视图表现:
(数据包统计)
(TCP FLAG 统计)
(解码分析)
, 分析总结
1、网络中存在大量小包,大量的 TCP 复位数据包;
2、大量的没有任何标志位的数据包。
1.2.5. ACK 扫描
, 扫描原理
ACK 扫描发送一个只设置 ACK 标志位的数据包,目标主机端口无论是关闭还是开放的都会返回 RST 数
据包,但 ACK 扫描不能确定目标主机的端口状态,可以确定对方主机是否存活,以及发现防火墙规则来确 定
防火墙的状态。
1.2.6. 深入理解
ACK 扫描在科来网络分析中的视图表现:
(数据包统计)
(TCP FLAG 统计)
(解码分析)
, 分析总结
1、网络中存在大量小包,大量的 TCP 复位数据包;
2、大量的 ACK 标志位置 1 的数据包;
1.2.7. 窗口扫描
, 扫描原理
在某些系统上,开放端口用正数表示窗口大小,而关闭的窗口大小则为 0,窗口扫描就是通过检查返回
口是否开放。 窗口扫描依赖于少数的系统实现细节,不支持它的系统通常会RST 报文的窗口字段来判断端
返回所有端口都关闭;甚至有些系统会给
出相反的行为(比如:扫描显示 1000 端口开放,3 个端口关闭,那么这 3 个端口反而是开放的)。
, 深入理解 窗口扫描在科来网络分析中的
视图表现:
(数据包统计)
(TCP FLAG 统计)
(解码分析)
(协议统计)
, 分析总结
1、网络中存在大量小包,大量的 TCP 复位统计;
2、网络中存大量特征相同的协议统计;
3、大量 window(窗口)字段为 0 的数据包。 1.2.8. IP 扫描
, 扫描原理
IP 协议扫描用来确定目标主机支持的 IP 协议,如 TCP、UDP、ICMP 等,它不对任何 TCP 或 UDP 端 口
发送报文,而是对 IP 协议号发送对应的数据包。
IP 协议扫描发送 IP 报文,报文不包含任何数据,甚至不包含协议的正确报文头(TCP、UDP、ICMP 例外),IP 协议扫描需要关注 ICMP 协议不可达信息,收到目标主机的任何协议响应,即表示该协议是开放 的。 , 深入理解 窗口扫描在科来网络分析中的
视图表现:
(数据包统计)
(协议统计)
, 分析总结
1、网络中存在大量小包;
2、网络中存大量特征相同的 IP 数据包,且不携带任何数据。
1.2.9. FIN\ACK 扫描
, 扫描原理
FIN\ACK 扫描也被称作 Maimon 扫描,根据发现者 Uriel Maimon 命名。其实 Maimon 扫描与 NULL、 FIN 扫描的原理一样,根据 RFC793,无论端口是关闭还是开放,目标主机都会对 FIN+ACK 探测数据包响 应 RST 报文(但许多基于 BSD 的系统会丢弃 FIN+ACK 探测数据包)。
, 深入理解
FIN\ACK 扫描在科来网络分析中的视图表现:
(数据包统计)
(TCP FLAG 统计)
(协议统计)
(解码分析)
, 分析总结
1、网络中存在大量小包,大量的 TCP 复位统计; 2、网络中存大量特征相同的协议统计;
3、大量 window(窗口)字段为 0 的数据包。
1.2.10. 定制扫描
, 扫描原理
一些高级用户不会遵循现成的扫描类型和规则,而是根据实际情况,任意指定 TCP 的相关标志
位和扫 描类型,从而避免 IDS 等设备的检测。 , 深入理解
FIN\ACK 扫描在科来网络分析中的视图表现: 利用概
要、协议、TCP\UDP 会话、解码视图进行综合分析。
1.3. 总结
1.3.1. 端口扫描的大致特征
, 小包多,大小基本在 64-128 字节之间;
, SYN 置 1,RST 置 1 的数据包较多;
, 大量的 TCP 或 UDP 会话,且具有相同的会话特征; , 采用连续端口或固定端口尝试与目标主机连接; , 诊断提示中会出现 TCP 复位,ICMP 端口不达,甚至端口扫描提示。
1.3.2. 了解端口扫描原理有哪些好处
, 快速定位蠕虫病毒;
, 快速确定攻击行为及类型;
, 快速厘清正常通讯与异常通讯;
, 快速发现网络中的异常行为。