1、制造三次握手的报文
三次握手是TCP(传输控制协议)建立连接的过程。它包括以下三个步骤:
1)SYN(同步):客户端发送一个SYN报文,请求与服务器建立连接。
2)SYN-ACK(同步-确认):服务器收到SYN报文后,发送一个SYN-ACK报文,确认客户端的SYN请求,并请求客户端的SYN。
3)ACK(确认):客户端收到SYN-ACK报文后,发送一个ACK报文,确认服务器的SYN-ACK请求。
2、筛选三次握手的报文
为了抓取和筛选三次握手的报文,我们可以使用网络抓包工具,如Wireshark。以下是使用Wireshark筛选三次握手报文的步骤:
1)打开Wireshark,选择要监听的网络接口。
2)开始捕获数据包。
3)在过滤器中输入以下表达式来筛选TCP三次握手报文:
tcp && (tcp.flags.syn == 1 || tcp.flags.ack == 1 || tcp.flags.syn == 1 && tcp.flags.ack == 1)
4)查看捕获到的数据包,找到三次握手的过程。
第一次握手:客户端向服务端发送SYN请求报文,seq为随机生成数
SYN:1 Seq:3492255407
第二次握手:服务端向客户端发送SYN、ACK确认请求报文,seq为随机生成数,Ack=seq+1
SYN:1 ACK:1 Seq:656816090 Ack:3492255408
第三次握手:客户端向服务端发送确认ACK报文,seq=Ack,Ack=seq+1
ACK:1 Seq:3492255408 Ack:656816091
3、分析三次握手的报文
三次握手的报文可以分为三个阶段进行分析:
1)SYN报文:客户端发送SYN报文,请求与服务器建立连接。SYN报文的序列号(Seq)是随机生成的。
2)SYN-ACK报文:服务器收到SYN报文后,发送SYN-ACK报文,确认客户端的SYN请求,并请求客户端的SYN。SYN-ACK报文的序列号(Seq)是随机生成的,确认号(Ack)是客户端的序列号加1。
3)ACK报文:客户端收到SYN-ACK报文后,发送ACK报文,确认服务器的SYN-ACK请求。ACK报文的序列号(Seq)是客户端的序列号加1,确认号(Ack)是服务器的序列号加1。