版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、几种TCP连接中出现RST的情况(比较详细)收藏人:hh37552013-07-02 I 阅:4725 转:16I来源囚H|分享几种TCP连接中出现RST的情况17人收藏此文章,我要收藏发表于1个月前(2013-05-04 11:40),已有314次阅读, 共0个评论目录:-1端口未打开2请求超时3提前关闭4在一个已关闭的socket上收到数据总结参考文献:应该没有人会质疑,现在是一个网络时代了。应该不少程序员在编程中需要考虑多机、 局域网、广域网的各种问题。所以网络知识也是避免不了学习的。而且笔者一直觉得T CP/IP网络知识在一个程序员知识体系中必需占有一席之地的。在TCP协议中RST表示
2、复位,用来异常的关闭连接,在TCP的设计中它是不可或缺 的。发送RST包关闭连接时,不必等缓冲区的包都发出去,直接就丢弃缓存区的包发 送RST包。而接收端收到RST包后,也不必发送ACK包来确认。其实在网络编程过程中,各种RST错误其实是比较难排查和找到原因的。下面我列出 几种会出现RST的情况。1端口未打开服务器程序端口未打开而客户端来连接。这种情况是最为常见和好理解的一种了。去t elnet 一个未打开的TCP的端口可能会出现这种错误。这个和操作系统的实现有关。 在某些情况下,操作系统也会完全不理会这些发到未打开端口请求。比如在下面这种情况下,主机241向主机114发送一个SYN请求,表示
3、想要连接主 机114的40000端口,但是主机114上根本没有打开40000这个端口,于是就向 主机241发送了一个RST。这种情况很常见。特别是服务器程序core dump之后重 启之前连续出现RST的情况会经常发生。有89、27两台主机。主机89向主机27发送了一个SYN,表示希望连接8888端口,主机27回应了主机89 一个SYN表示可以连接。但是主机27却很不友好,莫名 其妙的发送了一个RST表示我不想连接你了。后来经过排查发现,在主机89上的程序在建立了 socket之后,用setsockopt的SO _RCVTIMEO选项设置了 recv的超时时间为100ms。而我们看上面的抓包结
4、果表 示,从主机89发出SYN到接收SYN的时间多达110ms。(从15:01:27.799961 到15:01:27.961886,小数点之后的单位是微秒)。因此主机89上的程序认为接 收超时,所以发送了 RST拒绝进一步发送数据。3提前关闭关于TCP,我想我们在教科书里都读到过一句话,TCP是一种可靠的连接。而这可 靠有这样一种含义,那就是操作系统接收到的来自TCP连接中的每一个字节,我都会 让应用程序接收到。如果应用程序不接收怎么办?你猜对了,RST。看两段程序:01/server.c0203int main(int argc, char* argv)04(05int listen_fd
5、, real_fd;06struct sockaddr_in listen_addr, client_addr;07socklen_t len = sizeof(struct sockaddr_in);08listen_fd = socket(AF_INET, SOCK_STREAM, 0);09if(listen_fd = -1)10(11perror(socket failed );这段代码更简单,就是打开一个socket然后连接一个服务器并发送5000个字节。刚 才我们看服务器的代码,每次只接收4096个字节,那么就是说客户端发送的剩下的4 个字节服务端的应用程序没有接收到,服务器端的s
6、ocket就被关闭掉,这种情况下会 发生什么状况呢,还是抓包看一看15:39:36. 154301 IP localbost. 58577 localhost. 9877: Fl: val 4294952126 ecr 0 nopP wscale 4, length 015:39:36. 154377 IP localhost. 9877 localhost. 58577; FL s 16396, sackOK? TS val 4294952126 ecr 4294952126? nop? wsc; 15:39:36. 154506 IP localhost. 58577 localhost.
7、 9877 : FL 4294952126, length 015:39:36. 156302 IP localhost. 58577 localhost. 9877 : FL 294952126 ecr 4294952126, length 409615:39:36. 156357 IP localbost. 9877 localliost. 58577 : FL ecr 4294952126, length 015:39:36. 158841 IP localhost. 9877 localhost. 58577: FL 4952127 ecr 4294952126, length 015
8、:39:36. 160895 IP localhost. 58577 localhost. 9877 : FL 4294952127, length 015:39:37,. 158758 IP localhost. 58577 localhost. 9877; FL 1 4294952377 ecr 4294952127, length 409615:39:37. 158902 IP localbost. 9877 localliost. 58577 : Fl:总结总结,本文讲了几种TCP连接中出现RST的情况。实际上肯定还有无数种的RST发 生,我以后会慢慢收集把更多的例子加入这篇文章。参考文献:从 TCP 协议的原理来谈谈 RST 攻击 HYPE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB65T 8027-2024建筑隔震和消能减震工程施工与质量验收标准
- 入侵报警系统清洗消毒和维修保养制度
- 导游业务模拟测试题及答案
- 移动医疗服务专业解读与实施路径
- 污水处理工试题库及答案(中级工)
- 中国牙外伤诊疗指南(2026版)
- 电梯季度维护保养记录表
- 儿童化妆品安全专项排查
- CN119908335A 一种商品猪的选育方法
- 2026年跨境电商冷链仓储合同协议
- 2026安徽师范大学人才招聘120人备考题库完整参考答案详解
- 2026“才聚齐鲁成就未来”山东省征信有限公司社会招聘18人备考题库【含答案详解】
- 2025-2030中国全断面隧道掘进机(TBM)发展现状调研及前景趋势洞察报告
- 2026年高血压病诊疗指南
- 2026平安银行石家庄分行橙光实习生招聘考试参考试题及答案解析
- 品质管理人员考核制度
- DB37T5134-2025海绵城市建设工程施工与验收标准
- 2025年江苏交控招聘笔试真题及答案
- 三年(2023-2025)中考历史真题分类汇编(全国)专题40 特殊题型(填空题、主客一体题、改错题等)综合题(原卷版)
- 糖尿病足中药泡脚方课件
- (新教材)2026年人教版一年级下册数学 欢乐购物街 第1课时 认识人民币 课件
评论
0/150
提交评论