标题:[实践OK]tcp/ip三次握手实践学习,自己截三次握手抓包图。 出处:向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除 时间:Tue, 23 Aug 2016 09:35:06 +0000 作者:jackxiang 地址:http://jackxiang.com/post/8908/ 内容: 一)过滤出三次握手的第一次: tcp.flags.syn == 1 //YN置1就表示这是一个连接请求或连接接受报文。首先由Client发出请求连接即 SYN=1 ACK=0 (请看头字段的介绍), TCP规定SYN=1时不能携带数据,但要消耗一个序号,因此声明自己的序号是 seq=0 二)跟踪一个IP和另一个IP的数据包: (ip.addr eq 123.130.127.180 and ip.addr eq 172.20.156.35) and (tcp.port eq 80 and tcp.port eq 16616) ip.addr == 123.130.127.180 and ip.addr == 172.20.156.35 //注意,一是两个等号,二是ip不用双引或单引号想起来,否则属于错误语句。 (ip.addr == 123.130.127.180 and ip.addr == 172.20.156.35) and (tcp.port == 80 and tcp.port == 16616) ip.addr==123.130.127.180 and ip.addr==172.20.156.35 三)三次握手分析: (1)frame也就是帧编号值并不是1,2,3可以是任意值。 (2)下图: 首先,由Client发出请求连接即 SYN=1 ACK=0 (请看头字段的介绍), TCP规定SYN=1时不能携带数据,但要消耗一个序号,因此声明自己的序号是 seq=0: 点击在新窗口中浏览此图片 http://jackxiang.com/attachment.php?fid=455 然后,Server 进行回复确认,即 SYN=1 ACK=1 seq=y=0, ack=x+1=0+1=1: 点击在新窗口中浏览此图片 http://jackxiang.com/attachment.php?fid=456 再然后 Client 再进行一次确认,但不用SYN 了,这时即为 ACK=1, seq=x+1=0+1=1, ack=y+1=0+1=1. 然后连接建立 点击在新窗口中浏览此图片 http://jackxiang.com/attachment.php?fid=457 ACK : TCP协议规定,只有ACK=1时有效,也规定连接建立后所有发送的报文的ACK必须为1 SYN(SYNchronization) : 在连接建立时用来同步序号。当SYN=1而ACK=0时,表明这是一个连接请求报文。 FIN (finis)即完,终结的意思, 用来释放一个连接。当 FIN = 1 时,表明此报文段的发送方的数据已经发送完毕,并要求释放连接。 Generated by Jackxiang's Bo-blog 2.1.1 Release