彩信不能发送TCP包分析流程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

彩信不能发送TCP包流程分析正常流程

1.数据包4498,服务器向客户端返回100 Continue;

Next sequence number: 1835

Acknowlegement number: 1003

2.数据包4503,客户端发送消息;

序列号是1003,Ack是1835,Len:293

3.数据包4504,客户端发送数据包

4.数据包4505,服务器返回ACK消息

有问题的服务数据包分析

1.数据包5281,服务器返回100 Continue给客户端

序列号1766,Ack号:1003;

下一个序列号是1835

2.数据包5282,客户端向服务器返回TLSV1.2消息。

序列号:1003,Ack号1835

下一个序列号:1312

此时,服务器端在等待客户端序列号为1312的TCP数据包,但是后来接收到的数据包都不是这个序列号的TCP数据包,因此,导致附件无法上传。

而从这个时间点以后,客户端就没有发送序列号为1312的包给服务器,而且,我们发现从开始发送数据,只能抓到TLSv1.2的数据包,而不能抓到TCP的数据包,因此,应该是网络的某些地方拦截了TCP数据包才导致该问题必现。

序列号为近端发送给远端的数据包大小;

ACK号为近端接收到远端的数据包大小;

SYN数据包大小为1,FIN包大小为1;

ACK数据包大小为0;

HTTPS流程梳理

不做摘要认证流程

图中可以清晰的看到整个HTTP的流程,其中红色为远端到近端,蓝色为近端到远端。

从图中可以看到,整个流程如下:

1.客户端发送POST消息给服务器;

2.服务器解析multipart/form-data字段,发现找不到,直接向客户端返回500 Server Error;

3.服务器还会返回一个错误内容:提示请求消息中不包含multipart/form-data字段;

4.客户端接收到错误内容后,发送POST消息,消息内容中包含multipart/form-data字段;

5.服务器返回100 Continue;

6.客户端发送内容,包含name,filename等信息,还包含文本内容;

7.到流的最后,客户端发送了userid,date,msgid信息;

8.服务器保存附件,返回200 OK,整个附件上传完毕。

之前一直怀疑,为什么返回500 Server Error时,附件还能继续上传?

答:服务器返回500 Server Error后,还返回了一个错误原因,客户端发现是由于消息格式不对,因此会再次发送POST消息,这次的POST消息带了multipart/form-data字段,因此,附件上传继续按照正常流程走。

遗留问题:

在附件上传的过程中,既有TLSV1.2协议的包,也有TCP协议的包,而且都很大,不知道原因何在?

摘要认证POST消息流程

从图中可以看到:

1.客户端发送POST消息到服务器,未带multipart/form-data字段,未带摘要认证信息;

2.服务器检测消息,发现未带摘要认证内容,返回401错误;

3.客户端发送POST消息到服务器,带摘要认证信息,带multipart/form-data字段;

4.服务器返回100 Continue;

5.客户端发送附件,包含name,filename,以及文件内容;

6.到流的最后,客户端发送userid,date,msgid信息;

7.服务器保存附件成功,返回200 OK,整个附件上传完毕。

相关文档
最新文档