转自:http://blog.csdn.net/ixidof/article/details/8049667

TCP异常终止(reset报文)

TCP的异常终止是相对于正常释放TCP连接的过程而言的,我们都知道,TCP连接的建立是通过三次握手完成的,而TCP正常释放连接是通过四次挥手来完成,但是有些情况下,TCP在交互的过程中会出现一些意想不到的情况,导致TCP无法按照正常的四次挥手来释放连接,如果此时不通过其他的方式来释放TCP连接的话,这个TCP连接将会一直存在,占用系统的部分资源。在这种情况下,我们就需要有一种能够释放TCP连接的机制,这种机制就是TCP的reset报文。reset报文是指TCP报头的标志字段中的reset位置一的报文,如下图所示:

TCP异常终止的常见情形

我们在实际的工作环境中,导致某一方发送reset报文的情形主要有以下几种:

1,客户端尝试与服务器未对外提供服务的端口建立TCP连接,服务器将会直接向客户端发送reset报文。

2,客户端和服务器的某一方在交互的过程中发生异常(如程序崩溃等),该方系统将向对端发送TCP reset报文,告之对方释放相关的TCP连接,如下图所示:

3,接收端收到TCP报文,但是发现该TCP的报文,并不在其已建立的TCP连接列表内,则其直接向对端发送reset报文,如下图所示:

4,在交互的双方中的某一方长期未收到来自对方的确认报文,则其在超出一定的重传次数或时间后,会主动向对端发送reset报文释放该TCP连接,如下图所示:

5,有些应用开发者在设计应用系统时,会利用reset报文快速释放已经完成数据交互的TCP连接,以提高业务交互的效率,如下图所示:


Reset报文的利用

1 安全设备利用reset报文阻断异常连接

安全设备(如防火墙、入侵检测系统等)在发现某些可疑的TCP连接时,会构造交互双方的reset报文发给对端,让对端释放该TCP连接。比如入侵检测检测到黑客攻击的TCP连接,其构造成被攻击端给黑客主机发送reset报文,让黑客主机释放攻击连接。

2 利用reset报文实施攻击

安全设备可以利用reset报文达到安全防护的效果,黑客和攻击者也可以利用reset报文实现对某些主机的入侵和攻击,最常见的就是TCP会话劫持攻击。关于TCP会话劫持的相关知识请参考第三章《TCP会话劫持》一文。

TCP连接异常终止(RST包)相关推荐

  1. TCP连接的心跳包机制

    文章目录 什么是心跳机制 为什么需要心跳机制? 如何及时有效地检测到另一方的非正常断开 TCP的keeplive保活机制 什么是心跳机制 所谓的心跳包就是(探测性的)数据包,之所以叫心跳包是因为:它像 ...

  2. 原来墙,是这么把我TCP连接干掉的!

    今天聊一个比较轻松的问题:如何关闭一个 TCP 连接? 可能大家第一反应是「杀掉进程」不就行了吗? 是的,这个是最粗暴的方式,杀掉客户端进程和服务端进程影响的范围会有所不同: 在客户端杀掉进程的话,就 ...

  3. 一个解除TCP连接的TIME_WAIT状态限制的简便方法

    近日无意间发现了一个小窍门:当TCP连接所对应socket的接收队列中仍有未读数据时,将此socket强行close后,将使此socket连接不会进入TIME_WAIT状态,用"netsta ...

  4. TCP协议-TCP连接管理

    一.TCP概述 TCP协议是 TCP/IP 协议族中一个非常重要的协议.它是一种面向连接.提供可靠服务.面向字节流的传输层通信协议. TCP(Transmission Control Protocol ...

  5. java tcp client 断开_HttpClient出现TCP连接异常关闭发送RST包

    问题现象 在与第三方系统通过http交互数据的过程中,抓包发现每次TCP连接都是异常关闭,报文如下: 可以看到,由我方发起3次握手建立连接,然后发送http请求,对方响应数据,我方ACK后直接发RST ...

  6. 几种TCP连接中出现RST的情况

    UNIX网络编程上说:产生RST的三个条件是:目的地为某端口的SYN到达,然而在该端口上并没有正在监听 的服务器:TCP想取消一个已有链接:TCP接收到一个根本不存在的连接上的分节. 几种TCP连接中 ...

  7. wireshark抓包分析tcp连接与断开

    其实对于网络通信的学习,最好还是能够自己抓到包详细地看一下,不然只单单通过文字和图的描述印象不够深刻.本文通过实际的抓包操作来看一下tcp的连接与断开是怎样的. 首先需要去https://www.wi ...

  8. 网络基础2-3(TCP协议,三次握手,四次挥手,TIME_WAIT状态的作用,TCP如何保证可靠传输,TCP连接中状态转化,滑动窗口,流量控制,快速重传,拥塞窗口,延迟应答,捎带应答,粘包问题)

    TCP协议 TCP协议概念 TCP全称为 "传输控制协议(Transmission Control Protocol"). 人如其名, 要对数据的传输进行一个详细的控制 TCP协议 ...

  9. 网络基本功(二十三):Wireshark抓包实例诊断TCP连接问题

    转载请在文首保留原文出处:EMC中文支持论坛https://community.emc.com/go/chinese 介绍 前文论述了TCP基础知识,从本节开始,通过TCP抓包实例来诊断TCP常见问题 ...

最新文章

  1. RuntimeError: each element in list of batch should be of equal size
  2. ThinkPHP开发中遇到的小坑
  3. jfinal上传图片,生成日期文件夹,图片重命名
  4. Realm及相关对象——《跟我学Shiro》
  5. VSCode 报错 Parsing error: x-invalid-end-tag
  6. caffe学习(1) ubunu 16.04+caffe+cuda8.0+opencv3.1安装
  7. Natasha 4.0 探索之路系列(三) 基本的动态编译
  8. SQLi LABS Less 17 报错注入
  9. centos使用python_Centos7使用Python3
  10. Htmlunit 使用记录
  11. linux第五单元作业,第五单元《微型计算机系统》教案
  12. 看了IDC 2018 Q1存储报告,才知道宏杉科技为什么稳稳的
  13. 艾敦制表神器实现EXCEL邮件合并
  14. SIT1043 带唤醒及故障保护的低功耗CAN FD总线收发器 对标TJA1043
  15. Tomcat安装及配置详解
  16. K8S系列:Pod 的恢复策略restartPolicy
  17. 动作捕捉系统用于机器人关节位移与几何参数标定
  18. Android PC端启用IceBox、黑域
  19. 极光推送集成APP和web服务
  20. 关于Linux的发音

热门文章

  1. Keil 提示error C231: ‘INT0‘: redefinition的原因及其解决方法
  2. 联通HG220G-U WO-36型注意事项
  3. 中南大学计算机网课网址,中南大学计算机网课复习要点.doc
  4. 《SaaS软件工程 云计算时代的敏捷开发》PDF版
  5. U盘被写保护的处理办法
  6. 如何有效实现软件的需求管理 - 6
  7. IDEA查看类UML图
  8. 2018迅雷校园招聘---整数求和
  9. Oracle - 同义词
  10. XGBoost与GBDT比较