多次RST以及不同场景下的RST报文的差异
作者:易隐者 发布于:2012-10-9 11:27 Tuesday 分类:网络分析
在某个TCP交互过程中,我们发现在交互的后期,客户端多次向服务器端发送RST报文,如下图所示:
我们首先来看客户端发出的第一个RST报文的解码:
RST与ACK标志位都置一了,并且具有ACK number,非常明显,这个报文在释放TCP连接的同时,完成了对前面已接收报文的确认。
我们再来看看客户端发出的后续RST报文的解码:
我们可以看到,这些后续的RST报文仅Reset位置一,ACK位未置一,在这种情况下,该报文的ACK确认号应该为0,但是我们留意到在这个报文中,其ACK确认号与序列号是一致的。
这是为什么呢?
因为ACK位未置一,ACK确认号也就失去了意义,因此,不论ACK确认号是什么值都不会对接收端产生影响,因此大部分的系统都会将ACK确认号设置为0,之所以在这个报文中出现ACK确认号非0而是与序列号一致的情况,个人认为应该是该主机端系统的处理机制与大部分系统不一样导致的。
另外,我们也看到了wireshark的专家系统在此处给出了提示,由此可见wireshark在传输层的专家系统的强大之处。
为什么前后RST报文会出现这种差异?
原因为第一个RST报文是异常释放TCP连接的,在端系统发送RST报文之前,这个TCP连接尚在端系统的连接表中,因此其ACK位置一并且具有ACK确认号。而客户端后续收到DATA报文,因其连接表中已经没有相关信息与之对应,此时客户端发送的RST报文ACK位无需置一。
也许有朋友会问:服务器端为什么在收到客户端的RST报文后,还继续给客户端发送报文呢?
原因只有一个,那就是TCP成块数据流。服务器端一次性向客户端发送数个数据块,在客户端发出第一个RST报文之后,后续的报文已经在网络中传输了,并陆续达到客户端。
其交互过程大致如下:
标签: TCP wireshark RST ACK 连接表 TCP成块数据流 端系统 ACK确认号 连接
版权所有:《蚂蚁网-多维人生,三实而立!》 => 《多次RST以及不同场景下的RST报文的差异》
本文地址:http://www.vants.org/?post=141
除非注明,文章均为 《蚂蚁网-多维人生,三实而立!》 原创,欢迎转载!转载请注明本文地址,谢谢。
日历
最新日志
链接
分类
最新碎语
- 通常,长大并不是让你成为一个新的人,而是成为一个你注定要成为的人——并且其实你一直都已经是那个人了。—— 希斯·L·巴克马斯特
2018-04-20 18:38
- 虽然只能自己一人迎接死亡,但活着的时候,却想跟谁一起活下去。—— 电影《彼时生命》
2018-04-14 21:33
- 群体对自己看到的事件进行歪曲的方式,好像既多且杂,各不相同,因为组成群体的个人有着非常不同的倾向。但是情况并非如此。作为相互传染的结果,受到的歪曲是一样的,在群体的所有个人中间表现出同样的状态。 ——古斯塔夫·勒庞《乌合之众》(photo by FangLijun)
2018-04-08 18:07
- “那些愿意放弃基本自由来换得少许暂时保障的人,既不配得到自由,也不配得到保障。”——本杰明·富兰克林
2018-03-27 20:38
- 人性有一个弱点,你越在意什么,什么就越折磨你。当你不再畏手畏脚,当你鼓起勇气,下定决心忠于自己,每一天都将是最好的状态。
2018-03-26 20:50
存档
- 2018年3月(1)
- 2018年1月(2)
- 2017年12月(1)
- 2017年11月(6)
- 2017年9月(1)
- 2017年7月(1)
- 2017年6月(1)
- 2017年5月(1)
- 2017年4月(1)
- 2017年3月(1)
- 2017年2月(1)
- 2017年1月(1)
- 2016年11月(1)
- 2016年4月(1)
- 2015年7月(2)
- 2015年6月(1)
- 2015年5月(5)
- 2014年12月(1)
- 2014年11月(1)
- 2014年10月(1)
- 2014年8月(1)
- 2014年7月(1)
- 2014年6月(1)
- 2014年5月(1)
- 2014年4月(3)
- 2014年2月(2)
- 2014年1月(2)
- 2013年12月(1)
- 2013年11月(1)
- 2013年10月(2)
- 2013年9月(1)
- 2013年8月(1)
- 2013年7月(3)
- 2013年6月(2)
- 2013年5月(1)
- 2013年4月(3)
- 2013年3月(1)
- 2013年2月(2)
- 2013年1月(2)
- 2012年12月(11)
- 2012年11月(12)
- 2012年10月(12)
- 2012年9月(26)
- 2012年8月(29)
- 2012年7月(18)
- 2012年6月(2)
- 2012年5月(25)
- 2012年4月(16)
- 2012年3月(13)
- 2012年2月(6)
发表评论: