2017-10-10 34 views
-3

我已经GOOGLE了很多次FIN扫描是如何工作的?但我总是得到相同的答案,即“(简而言之)它用于绕过基本过滤器,它使用FIN标志来确定Closed | Open Ports。”FIN扫描类型的实际工作原理?

FIN标志是什么? “FIN标志用于结束发送方发送更多数据包”

而这里它是如何工作的?

如果目标中的侦听端口关闭,它将回复RST消息。协商如下图所示,

攻击者会发送ƒFIN

目标将ƒRST响应

如果监听端口是开放的,则目标将不会发送任何响应 回来。协商如下图所示,

攻击者将ƒ没有

发送ƒFIN

目标响应现在我产生疑问的时候从这里开始。

为什么目标主机会响应RST数据包?为什么不是别人?即使它关闭它与RST数据包的答复。

而当它打开它没有回复?实际上在我完全失踪的场景背后究竟发生了什么?

现在,这是我想知道的第一件事? (&另一种是这如何绕过基本过滤器)

+1

,因为这是它在RFC 793 – EJP

+0

说没有@EJP我想在技术办法知道,究竟发生在FIN扫描类型? –

+0

答案仍在RFC 793中。关闭主题。 – EJP

回答

1

这正是RFC 793, Transmission Control Protocol说TCP必须做到:

复位产生

作为一般规则,复位(RST)必须在分段到达时发送,显然不适用于当前连接。 如果不清楚这种情况,则不能发送复位。

有三组状态:

  1. 如果连接不存在(CLOSED),则复位在 响应于除另一复位任何传入段发送。特别是,通过这种方式拒绝发送给不存在连接的SYN 。

    如果传入段具有ACK字段,复位需要从该段的ACK字段其 序列号,否则 复位的顺序号为零,ACK字段设置为序列号的总和 和传入段的段长度。 连接保持CLOSED状态。

  2. 如果连接在任何非同步状态(LISTEN, SYN-SENT,SYN-接收到的),以及输入段承认 还未发送的东西(分段携带不可接受ACK),或 如果一个传入段具有一个安全级别或隔离区,其中 与 连接请求的级别和隔离区不完全匹配,则会发送重置。

    如果我们的SYN未被确认和 输入段的优先级比则要求 要么提高本地优先级(如果允许由用户和 系统)的优先级高于或发送复位;或者如果 传入段的优先级低于所请求的优先级,则 会继续,就好像优先级完全匹配(如果远程TCP 无法提高优先级以匹配我们的优先级,则将在下一段中检测到 发送,并且连接将终止于 )。如果我们的SYN已被确认(可能在此 传入段中),则传入段的优先级必须与本地优先级完全匹配,如果它不需要发送重置 。

    如果传入段具有ACK字段,复位需要从该段的ACK字段其 序列号,否则 复位的顺序号为零,ACK字段设置为序列号的总和 和传入段的段长度。 连接保持相同状态。

  3. 如果连接处于同步状态(ESTABLISHED, FIN-WAIT-1,FIN-WAIT-2,CLOSE-WAIT,CLOSING,LAST-ACK,TIME-WAIT) 任何不可接受的段(下窗口序列号或 不可知的确认号)必须仅引出包含当前发送序列号 的确认段以及指示要接收的下一个序列号 的确认段,并且连接保持在相同状态。

    如果传入段的安全级别,或隔间,或者 优先级不完全级别相匹配,和车厢, 和要求建立连接的优先级,复位发送和 连接进入CLOSED状态。重置从传入段的ACK字段获取其序列 号码。