TCP连接四次挥手

                                                 四次握手
                                                Four-way Handshake

四次握手用来关闭已建立的
TCP连接

1. (B) --> ACK/FIN --> (A)  [客户端给服务器端:我要解除连接了]
2. (B) <-- ACK <-- (A)      [服务器端回客户端:好的]
3. (B) <-- ACK/FIN <-- (A)  [服务器端回客户端:资源释放了,你断开吧]
4. (B) --> ACK --> (A)      [客户端回服务器端:好的]

注意:
 由于TCP连接是双向连接, 因此关闭连接需要在两个方向上做。

FIN:
 ACK/FIN包(ACK 和FIN 标记设为1)通常被认为是FIN(终结)包.然而, 由于连接还没有关闭, FIN包总是打上ACK标记. 没有ACK标记而仅有FIN标记的包不是合法的包,并且通常被认为是恶意的.

RST:
 连接复位Resetting a connection四次握手不是关闭TCP连接的唯一方法. 有时,如果主机需要尽快关闭连接(或连接超时,端口或主机不可>达),RST (Reset)包将被发送. 注意在,由于RST包不是TCP连接中的必须部分, 可以只发送RST包(即不带ACK标记). 但在正常的TCP连接中RST包可以带ACK确认标记请注意RST包是可以不要收到方确认的?  无效的TCP标记Invalid TCP Flags 到目前为止,你已经看到了SYN, ACK, FIN, 和RST 标记. 另外,还有PSH (Push) 和URG (Urgent)标记.最常见的非法组合是SYN/FIN 包.

注意:
  由于SYN包是用来初始化连接的, 它不可能和FIN和RST标记一起出现. 这也是一个恶意攻击.由于现在大多数防火墙已知SYN/FIN 包, 别的
一些组合,例如SYN/FIN/PSH, SYN/FIN/RST, SYN/FIN/RST/PSH。很明显,当网络中出现这种包时,很你的网络肯定受到攻击了。别的已知的
非法包有FIN (无ACK标记)和"NULL"包。如同早先讨论的,由于ACK/FIN包的出现是为了关闭一个TCP连接,那么正常的FIN包总是带有ACK 标
记。

"NULL"包就是没有任何TCP标记的包(URG,ACK,PSH,RST,SYN,FIN都为0)。

到目前为止,正常的网络活动下,TCP协议栈不可能产生带有上面提到的任何一种标记组合的TCP包。当你发现这些不正常的包时,肯定有人
对你的网络不怀好意。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值