我已多次搜索 FIN扫描的工作方式?但总是得到相同的答案,即“(简而言之)它用于绕过基本过滤器并使用FIN标志确定已关闭|打开端口。“
FIN旗帜是什么? “FIN标记用于结束发件人发送更多数据包”
在这里如何运作?
如果目标中的侦听端口已关闭,则它将回复RST消息。谈判如下所示,
攻击者将发送ƒFIN
目标将以ƒRST回复
如果侦听端口已打开,则目标将不会发送任何内容 回复。谈判如下所示,
攻击者将发送ƒFIN
目标回复ƒ无
现在我的怀疑来自于此。
为什么目标主机会响应RST数据包?别人为什么不呢?甚至它关闭它使用RST数据包回复。
当它打开时它没有回复?我完全失踪的幕后实际上是什么?
现在这是我想知道的第一件事吗? (&另一个是如何绕过基本过滤器)
答案 0 :(得分:1)
这正是TCP必须要做的RFC 793, Transmission Control Protocol:
重置生成
作为一般规则,必须在段到达时发送重置(RST),这显然不适用于当前连接。 如果不清楚是这种情况,则不得发送重置。
有三组州:
如果连接不存在(CLOSED),则发送重置 响应任何传入的段,除了另一个重置。在 特别是,拒绝寻址到不存在的连接的SYN 通过这种方式。
如果传入段具有ACK字段,则复位采用其 来自段的ACK字段的序列号,否则为 reset的序列号为零,ACK字段设置为总和 输入段的序列号和段长度。 连接仍处于CLOSED状态。
如果连接处于任何非同步状态(LISTEN, SYN-SENT,SYN-RECEIVED),并且传入的段确认 尚未发送的内容(该段带有不可接受的ACK),或 如果传入的段具有安全级别或隔离区 与要求的级别和隔间不完全匹配 连接,发送重置。
如果我们的SYN尚未被确认并且优先级别为 传入的段高于当时请求的优先级 要么提高本地优先级(如果用户允许,请提高) 系统)或发送重置;或者如果优先级别 传入的段低于当时请求的优先级 继续好像优先级完全匹配(如果远程TCP 不能提高匹配我们的优先级别 在它发送的下一个段中检测到,并且连接将是 然后终止)。如果我们的SYN已被确认(也许在此 传入段)传入段的优先级必须 如果没有重置,则完全匹配本地优先级 必须发送。
如果传入段具有ACK字段,则复位采用其 来自段的ACK字段的序列号,否则为 reset的序列号为零,ACK字段设置为总和 输入段的序列号和段长度。 连接保持相同状态。
- 醇>
如果连接处于同步状态(ESTABLISHED, FIN-WAIT-1,FIN-WAIT-2,CLOSE-WAIT,CLOSING,LAST-ACK,TIME-WAIT), 任何不可接受的段(窗口序列号或 不易察觉的确认号码)必须只引出一个空的 包含当前发送序列号的确认段 以及表示预期的下一个序列号的确认 被接收,并且连接保持相同状态。
如果传入的段具有安全级别或隔离专区,或者 与级别不完全匹配的优先级,以及隔离专区, 和连接请求的优先级,发送重置和 连接进入CLOSED状态。重置按顺序进行 来自传入段的ACK字段的数字。