一、RST介绍

RST标示复位、用来异常的关闭连接。

1. 发送RST包关闭连接时,不必等缓冲区的包都发出去,直接就丢弃缓冲区中的包,发送RST。

2. 而接收端收到RST包后,也不必发送ACK包来确认。

二、什么时候发送RST包

1.  建立连接的SYN到达某端口,但是该端口上没有正在 监听的服务。

2. TCP收到了一个根本不存在的连接上的分节。

3. 请求超时。 使用setsockopt的SO_RCVTIMEO选项设置recv的超时时间。接收数据超时时,会发送RST包。

三、尝试手动发送RST包

1. 使用shutdown、close关闭套接字,发送的是FIN,不是RST

2. 套接字关闭前,使用sleep。对运行的程序Ctrl+C,会发送FIN,不是RST

3. 套接字关闭前,执行return、exit(0)、exit(1),会发送FIN、不是RST

以上几种方法,都不能发送RST包。 发送RST包,需要自己伪造数据包进行发送。

测试代码:http://blog.csdn.net/guowenyan001/article/details/11742621

参考资料:

RST攻击:http://baike.baidu.com/view/1044719.htm

几种连接中出现RST的情况:http://my.oschina.net/costaxu/blog/127394

TCP协议RST:RST介绍、什么时候发送RST包相关推荐

  1. 自定义Udp/Tcp协议,通信协议Socket/WebSocket,IM粘包、分包解决等(2),ProtocolBuffer

    > 自定义Udp/Tcp协议/通信协议(Java/C):自定义构建和解析IM协议消息:IM自定义UDP通信协议   类似于网络通信中的TCPIP协议一般,比较可靠的通信协议往往包含有以下几个组成 ...

  2. {网络编程}和{多线程}应用:基于TCP协议【实现多个客户端发送文件给一个服务器端】--练习

    要求: 实现多个客户端发送文件给一个服务器端提示:多个人创建客户端发送文件,服务端循环接收socket,从socket中获取文件 说明:这里我们只要建立一个服务端就可以了,然后让多台电脑使用客户端给这 ...

  3. socket通信需要网线连接吗_从socket到TCP协议,透彻理解网络编程

    进行程序开发的同学,无论Web前端开发.Web后端开发,还是搜索引擎和大数据,几乎所有的开发领域都会涉及到网络编程.比如我们进行Web服务端开发,除了Web协议本身依赖网络外,通常还需要连接数据库,而 ...

  4. 闲说HeartBeat心跳包和TCP协议的KeepAlive机制

    很多应用层协议都有HeartBeat机制,通常是客户端每隔一小段时间向服务器发送一个数据包,通知服务器自己仍然在线,并传输一些可能必要的数据.使用心跳包的典型协议是IM,比如QQ/MSN/飞信等协议. ...

  5. TCP协议从入门到精通

    文章目录 TCP协议 TCP头部信息 TCP头部信息清单 16位端口号(port number) 32位序号(sequence number) 32位确认号(acknowledgement numbe ...

  6. TCP协议的KeepAlive机制与HeartBeat心跳包

    原文地址:http://www.nowamagic.net/academy/detail/23350382 心跳包 很多应用层协议都有HeartBeat机制,通常是客户端每隔一小段时间向服务器发送一个 ...

  7. TCP协议详解----Linux学习笔记

    传输层概述 传输层协议主要有两个:TCP协议和UDP协议 TCP服务特点: TCP协议的特点是:面向连接.字节流和可靠传输.(相对UDP协议而言的) 面向连接: 1.使用TCP协议的双方必须先建立连接 ...

  8. Linux内核中TCP协议实现的关键数据结构

    1. TCP协议头tcphdr TCP协议头描述了TCP数据段发送的源地址.目标地址.数据段传送管理和连接管理的信息,是TCP协议实现的重要数据结构之一. struct tcphdr {__be16 ...

  9. TCP协议与UDP协议详解

    TCP协议 TCP,即Transmission Control Protocol,传输控制协议.人如其名,要对数据的传输进行一个详细的控制. TCP协议的特点:有连接,可靠传输,面向字节流,全双工 有 ...

  10. 【Linux】 -- TCP协议 (一)

    TCP协议 Tcp协议 可靠性 冯诺依曼体系结构 TCP的协议格式 序号与确认序号 窗口大小 六个标志位 确认应答机制 (ACK) 超时重传机制 连接管理机制 Tcp协议 TCP全称为 "传 ...

最新文章

  1. Python 进阶_OOP 面向对象编程_类和继承
  2. 关于android ksoap获取失败的问题
  3. 课时 17-深入理解 etcd:etcd 性能优化实践(陈星宇)
  4. python上机报告出现的问题和解决方法_关于发现存在问题及解决方法的报告
  5. java如何打logo,利用java给网站图片打上文本或图片logo
  6. java 中导出word后压缩文件_Java批量导出word压缩后的zip文件案例
  7. 苹果正面临电源芯片短缺问题 可能影响iPhone 12供应
  8. [BZOJ1030][JSOI2007]文本生成器
  9. 指针07:指针和函数
  10. python零基础学习书-Python零基础到进阶必读的书藉:Python学习手册pdf免费下载
  11. 进阶 2 日期时间类
  12. 【GIS免费精品课程笔记】1 传统数据处理VS大数据处理思维
  13. 腾讯云+宝塔+tomcat / nginx部署前端代码
  14. 定时器 Corn时间表达式
  15. QT学习 实时显示时间
  16. Visual Studio 插件番茄助手2个优秀的特性
  17. JedisNoReachableClusterNodeException: No reachable node in cluster
  18. WEB前端面试常见的问题及答案
  19. Spring详细教程入门(一)
  20. 【Java8 环境安装】Java1.8JDK环境安装jdk-8u361-windows-x64

热门文章

  1. linux命令行查地图,linux n地图 命令
  2. php swoole 教程,PHP Swoole 基本使用
  3. 2021最火爆带字微信朋友圈背景
  4. 一种基于深度学习的遥感图像分类及农田识别方法
  5. android6.0在状态栏添加一键截屏
  6. Android使用七牛实现录像加时间水印和拍照(截帧回调)
  7. iOS 开发者开证书创建流程
  8. 关于echarts套娃柱状图(嵌套柱)的实现
  9. RuntimeError: Unsupported: ONNX export of Slice with dynamic inputs. DynamicSlice is a deprecated ex
  10. iOS-键盘弹出的类型