TCP协议RST:RST介绍、什么时候发送RST包
一、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包相关推荐
- 自定义Udp/Tcp协议,通信协议Socket/WebSocket,IM粘包、分包解决等(2),ProtocolBuffer
> 自定义Udp/Tcp协议/通信协议(Java/C):自定义构建和解析IM协议消息:IM自定义UDP通信协议 类似于网络通信中的TCPIP协议一般,比较可靠的通信协议往往包含有以下几个组成 ...
- {网络编程}和{多线程}应用:基于TCP协议【实现多个客户端发送文件给一个服务器端】--练习
要求: 实现多个客户端发送文件给一个服务器端提示:多个人创建客户端发送文件,服务端循环接收socket,从socket中获取文件 说明:这里我们只要建立一个服务端就可以了,然后让多台电脑使用客户端给这 ...
- socket通信需要网线连接吗_从socket到TCP协议,透彻理解网络编程
进行程序开发的同学,无论Web前端开发.Web后端开发,还是搜索引擎和大数据,几乎所有的开发领域都会涉及到网络编程.比如我们进行Web服务端开发,除了Web协议本身依赖网络外,通常还需要连接数据库,而 ...
- 闲说HeartBeat心跳包和TCP协议的KeepAlive机制
很多应用层协议都有HeartBeat机制,通常是客户端每隔一小段时间向服务器发送一个数据包,通知服务器自己仍然在线,并传输一些可能必要的数据.使用心跳包的典型协议是IM,比如QQ/MSN/飞信等协议. ...
- TCP协议从入门到精通
文章目录 TCP协议 TCP头部信息 TCP头部信息清单 16位端口号(port number) 32位序号(sequence number) 32位确认号(acknowledgement numbe ...
- TCP协议的KeepAlive机制与HeartBeat心跳包
原文地址:http://www.nowamagic.net/academy/detail/23350382 心跳包 很多应用层协议都有HeartBeat机制,通常是客户端每隔一小段时间向服务器发送一个 ...
- TCP协议详解----Linux学习笔记
传输层概述 传输层协议主要有两个:TCP协议和UDP协议 TCP服务特点: TCP协议的特点是:面向连接.字节流和可靠传输.(相对UDP协议而言的) 面向连接: 1.使用TCP协议的双方必须先建立连接 ...
- Linux内核中TCP协议实现的关键数据结构
1. TCP协议头tcphdr TCP协议头描述了TCP数据段发送的源地址.目标地址.数据段传送管理和连接管理的信息,是TCP协议实现的重要数据结构之一. struct tcphdr {__be16 ...
- TCP协议与UDP协议详解
TCP协议 TCP,即Transmission Control Protocol,传输控制协议.人如其名,要对数据的传输进行一个详细的控制. TCP协议的特点:有连接,可靠传输,面向字节流,全双工 有 ...
- 【Linux】 -- TCP协议 (一)
TCP协议 Tcp协议 可靠性 冯诺依曼体系结构 TCP的协议格式 序号与确认序号 窗口大小 六个标志位 确认应答机制 (ACK) 超时重传机制 连接管理机制 Tcp协议 TCP全称为 "传 ...
最新文章
- Python 进阶_OOP 面向对象编程_类和继承
- 关于android ksoap获取失败的问题
- 课时 17-深入理解 etcd:etcd 性能优化实践(陈星宇)
- python上机报告出现的问题和解决方法_关于发现存在问题及解决方法的报告
- java如何打logo,利用java给网站图片打上文本或图片logo
- java 中导出word后压缩文件_Java批量导出word压缩后的zip文件案例
- 苹果正面临电源芯片短缺问题 可能影响iPhone 12供应
- [BZOJ1030][JSOI2007]文本生成器
- 指针07:指针和函数
- python零基础学习书-Python零基础到进阶必读的书藉:Python学习手册pdf免费下载
- 进阶 2 日期时间类
- 【GIS免费精品课程笔记】1 传统数据处理VS大数据处理思维
- 腾讯云+宝塔+tomcat / nginx部署前端代码
- 定时器 Corn时间表达式
- QT学习 实时显示时间
- Visual Studio 插件番茄助手2个优秀的特性
- JedisNoReachableClusterNodeException: No reachable node in cluster
- WEB前端面试常见的问题及答案
- Spring详细教程入门(一)
- 【Java8 环境安装】Java1.8JDK环境安装jdk-8u361-windows-x64
热门文章
- linux命令行查地图,linux n地图 命令
- php swoole 教程,PHP Swoole 基本使用
- 2021最火爆带字微信朋友圈背景
- 一种基于深度学习的遥感图像分类及农田识别方法
- android6.0在状态栏添加一键截屏
- Android使用七牛实现录像加时间水印和拍照(截帧回调)
- iOS 开发者开证书创建流程
- 关于echarts套娃柱状图(嵌套柱)的实现
- RuntimeError: Unsupported: ONNX export of Slice with dynamic inputs. DynamicSlice is a deprecated ex
- iOS-键盘弹出的类型