tcp抓包分析

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

TCP抓包分析

一TCP格式

源端口:数据发起者的端口号;?

目的端口:数据接收方的端口号;

32bit序列号:标识当前数据段的唯一性;

32bit的确认号:接收数据方返回给发送方的通知;

TCP头部长度为20字节,若TCP头部的Options选项启用,则会增加首部长度,因此TCP是首部变长的传输层协议;

Reserved、Reserved、Nonce、CWR、ECN-Echo:共6bit,保留待用。?

URG:1bit紧急指针位,取值1代表这个数据是紧急数据需加速传递,取值0代表这是普通数据;?

ACK:1bit确认位,取值1代表这是一个确认的TCP包,取值0则不是确认包;PSH:1bit紧急位,取值1代表要求发送方马上发送该分段,而接收方尽快的将报文交给应用层,不做队列处理。取值0阿迪表这是普通数据;?

RST:1bit重置位,当TCP收到一个不属于该主机的任何一个连接的数据,则向对方发一个复位包,此时该位取值为1,若取值为0代表这个数据包是传给自己的;?

SYN:1bit请求位,取值1代表这是一个TCP三次握手的建立连接的包,取值为0就代表是其他包;?

FIN:1bit完成位,取值1代表这是一个TCP断开连接的包,取值为0就代表是其他包;?

Window?Size:16bit窗口大小,表示准备收到的每个TCP数据的大小;?

Checksum:16bit的TCP头部校验,计算TCP头部,从而证明数据的有效性;?

Urgent?Pointer:16bit紧急数据点,当功能bit中的URG取值为1时有效;?

Options:TCP的头部最小20个字节。如果这里有设置其他参数,会导致头部增大;?

Padding:当TCP头部小于20字节时会出现,不定长的空白填充字段,填充内容都是0,但是填充长度一定会是32的倍数;?

Data:被TCP封装进去的数据,包含应用层协议头部和用户发出的数据。

二数据截图

1.第一个TCP报文:

2.第二个TCP报文:

3.第三个TCP报文:

二分析

上面截图的三个TCP报文段表示了TCP连接时的三次握手阶段。

1.第一个TCP报文

这是要建立连接的客户(我)向服务器发出连接请求段

在TRANSMISSION CONTROL PROTOCOL这张截图中我们可以知道源端口号也就是主机端口号为50590,而目的端口号为HTTP的80端口,确认号为0(相对的),而首部长度为32字节,在标志位FLAGS(0x0002)中,只设置了SYN,也就是位同步标志,表示请求建立连接。窗口大小WINDOW SIZE为8192,校验和CHECKSUM为0x553a,说明是正确的。选项是12字节,里面的内容有最大段(MSS)大小为1440字节,占4个字节。

2.第二个TCP报文

这是服务器在收到请求后,发回确认(SYN+ACK)。

在TRANSMISSION CONTROL PROTOCOL这张截图中我们可以知道源主机(服务器)端口号为80,目的主机(客户机)端口号为50590,SEQUENCE NUMBER=0,ACK=1,首部长度为32字节。在标志位(0x0012)中设置了ACK和SYN,其中SYN表示认可连接,ACK表示对所接受的段的确认。窗口大小(WINDOW SIZE)为5840,校验和(checksum)为0x646d,表示正确。选项(options)占12字节,其中包括最大段(MSS)大小为1460字节,占4字节。

3.第三个TCP报文

这是客户向服务器发出的确认段

源主机(客户机)端口号为50590,目的主机(服务器)端口号为80,SEQUENCE NUMBER=1,ACK=1,首部长度为20字节。标志位(0x0010)中只设置了ACK,表示对所接受的段的确认。窗口大小为16560,校验和为0x7b5f,表示正确。这样就完成了TCP连接的建立阶段。没有options选项。

相关文档
最新文档