tcp三次握手数据包分析
1、TCP连接的三次握手
TCP三次握手过程如下:
1)客户端向服务器端发送一个SYN置位的TCP报文,包含客户端使用的端口号和初始序列号x;该序列号意味着告诉服务器我发送了一个编号为x的数据包,如果收到请应答。
2)服务器端收到客户端发送来的SYN报文后,向客户端发送一个SYN和ACK都置位的TCP报文,包含确认号为x+1和服务器的初始序列号y;服务器收到了x编号的数据包,然后返回响应,告诉客户端我已收到x编号的数据包,请继续发送下一个数据包(x+1)给我,而我的编号为y
3)客户端收到服务器返回的SYN+ACK报文后,向服务器返回一个确认号为y+1序号为x+1的ACK报文,一个标准的TCP连接完成。客户端收到以后将x+1的数据包传递给服务器端,同时告诉服务器你的y编号的包我已经收到,现在我需要你的y+1的数据包。
如果服务器收到,那么y+1的数据包将意味着数据传输的真正开始。而这时用户已经提交了两个数据包。
2、结合数据包进行分析:
23:16:27.137546 IP 222.65.108.217.2744 > 172.16.42.1.9000: S 3753437409:3753437409(0) win 65535 <mss 1440,nop,wscale 2,nop,nop,sackOK>
此处客户端发送一个SYN置位的TCP报文, 客户端端口号为2744, 初始序列号为3753437409
23:16:27.137554 IP 172.16.42.1.9000 > 222.65.108.217.2744: S 1251675030:1251675030(0) ack 3753437410 win 5840 <mss 1460,nop,nop,sackOK>
此处服务端收到客户端发送来的SYN报文后,向客户端发送一个SYN和ACK都置位的TCP报文,确认号为3753437410 , 服务器的初始序列号为1251675030
23:16:27.190983 IP 222.65.108.217.2744 > 172.16.42.1.9000: . ack 1 win 65535
23:16:27.215713 IP 222.65.108.217.2744 > 172.16.42.1.9000: . 1:1441(1440) ack 1 win 65535
此处客户端收到服务器返回的报文后, 向服务器返回确认号为1, 序列号为1441报文
23:16:27.215722 IP 172.16.42.1.9000 > 222.65.108.217.2744: . ack 1441 win 8640
此处服务端返回确认号为1441的报文,表示可以传输数据
TCP三次握手过程如下:
1)客户端向服务器端发送一个SYN置位的TCP报文,包含客户端使用的端口号和初始序列号x;该序列号意味着告诉服务器我发送了一个编号为x的数据包,如果收到请应答。
2)服务器端收到客户端发送来的SYN报文后,向客户端发送一个SYN和ACK都置位的TCP报文,包含确认号为x+1和服务器的初始序列号y;服务器收到了x编号的数据包,然后返回响应,告诉客户端我已收到x编号的数据包,请继续发送下一个数据包(x+1)给我,而我的编号为y
3)客户端收到服务器返回的SYN+ACK报文后,向服务器返回一个确认号为y+1序号为x+1的ACK报文,一个标准的TCP连接完成。客户端收到以后将x+1的数据包传递给服务器端,同时告诉服务器你的y编号的包我已经收到,现在我需要你的y+1的数据包。
如果服务器收到,那么y+1的数据包将意味着数据传输的真正开始。而这时用户已经提交了两个数据包。
2、结合数据包进行分析:
23:16:27.137546 IP 222.65.108.217.2744 > 172.16.42.1.9000: S 3753437409:3753437409(0) win 65535 <mss 1440,nop,wscale 2,nop,nop,sackOK>
此处客户端发送一个SYN置位的TCP报文, 客户端端口号为2744, 初始序列号为3753437409
23:16:27.137554 IP 172.16.42.1.9000 > 222.65.108.217.2744: S 1251675030:1251675030(0) ack 3753437410 win 5840 <mss 1460,nop,nop,sackOK>
此处服务端收到客户端发送来的SYN报文后,向客户端发送一个SYN和ACK都置位的TCP报文,确认号为3753437410 , 服务器的初始序列号为1251675030
23:16:27.190983 IP 222.65.108.217.2744 > 172.16.42.1.9000: . ack 1 win 65535
23:16:27.215713 IP 222.65.108.217.2744 > 172.16.42.1.9000: . 1:1441(1440) ack 1 win 65535
此处客户端收到服务器返回的报文后, 向服务器返回确认号为1, 序列号为1441报文
23:16:27.215722 IP 172.16.42.1.9000 > 222.65.108.217.2744: . ack 1441 win 8640
此处服务端返回确认号为1441的报文,表示可以传输数据