内容简介:在用tcpdump抓包时,发现前面两次握手的seq和ack能对应起来,但是第三次由客户端发起的确认ack值为1,抓了各种端口的tcp包发现都是这样,一开始还以为是tcp协议有变化,最终发现是应该是tcpdump的显示问题直接tcpdump命令即可,如果更详细点的信息,可加-v不过跟当前复现内容没有太多关系第一行100.116.251.137端口53686向10.0.0.15端口81发起了SYN主动连接的请求,seq为413886776
在用tcpdump抓包时,发现前面两次握手的seq和ack能对应起来,但是第三次由客户端发起的确认ack值为1,抓了各种端口的tcp包发现都是这样,一开始还以为是tcp协议有变化,最终发现是应该是tcpdump的显示问题
tcpdump抓包复现
直接tcpdump命令即可,如果更详细点的信息,可加-v不过跟当前复现内容没有太多关系
14:29:06.049398 IP 100.116.251.137.53686 > 10.0.0.15.81: Flags [S], seq 413886776, win 29130, options [mss 1942,sackOK,TS val 2047175890 ecr 0,nop,wscale 9], length 0 14:29:06.049406 IP 10.0.0.15.81 > 100.116.251.137.53686: Flags [S.], seq 1511062036, ack 413886777, win 14600, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0 14:29:06.049711 IP 100.116.251.137.53686 > 10.0.0.15.81: Flags [.], ack 1, win 57, length 0 14:29:06.050075 IP 100.116.251.137.53686 > 10.0.0.15.81: Flags [P.], seq 1:20, ack 1, win 57, length 19 14:29:06.050087 IP 10.0.0.15.81 > 100.116.251.137.53686: Flags [.], ack 20, win 115, length 0 14:29:06.050107 IP 10.0.0.15.81 > 100.116.251.137.53686: Flags [P.], seq 1:184, ack 20, win 115, length 183 14:29:06.050118 IP 10.0.0.15.81 > 100.116.251.137.53686: Flags [F.], seq 184, ack 20, win 115, length 0
第一行100.116.251.137端口53686向10.0.0.15端口81发起了SYN主动连接的请求,seq为413886776
第二行10.0.0.15.81端口81向100.116.251.137端口53686发起了SYN请求,seq为1511062036,注意ack是413886776+1=413886777
那么以上两次都没什么问题,正常的握手
问题出在第三行,本来按照三次握手,最后确认,ack应该是第二次握手的seq+1,也就是1511062036+1=1511062037,这才是正确的ack,但tcpdump抓包的显示是1
利用wireshark分析
于是将tcp包抓到本地,利用wireshark来分析下看看能否找到答案
抓包命令
tcpdump -w test.cap
上面这张图就是三次握手的包在wireshark,前三行封包就是三次握手,发现在wireshark里面seq从0开始,其实seq也不是0,可以看下面的具体值。不过第三次握手依然显示ack=1
通过wireshark逐行分析
第一行
seq:82 dc ee f2
ack:0
第二行
seq
ack
seq:7c d5 55 21
ack:82 dc ee f3
ack的值刚好是第一行的seq+1
第三行
ack:7c d5 55 22
结语
看到这里就明白了,第三次握手的ack虽然在tcpdump显示为1,但是值是第二行的seq+1
因此不是tcp三次握手协议变了,应该是tcpdump简化了显示
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- TCP 的 三次握手 四次握手
- MySQL常用数值函数
- 数值类型(金额)限制与判断
- MySQL数据类型 -- 数值型
- matlab—数值微积分
- TCP连接为什么是三次握手,而不是两次握手,也不是四次握手?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Operating System Algorithms
Nathan Adams、Elisha Chirchir / CreateSpace Independent Publishing Platform / 2017-4-21 / USD 39.15
Operating System Algorithms will walk you through in depth examples of algorithms that you would find in an operating system. Selected algorithms include process and disk scheduling.一起来看看 《Operating System Algorithms》 这本书的介绍吧!