TCP抓包分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TCP抓包分析
一TCP 格式
源端口:数据发起者的端口号;?
目的端口:数据接收方的端口号;
32bit 序列号: 标识当前数据段的唯一性;
32bit 的确认号:接收数据方返回给发送方的通知;
TCP头部长度为20字节,若TCP头部的Options选项启用,则会增加首部长度,因此TCP是首部变长的传输层协议;
Reserved、Reserved、No nee CWR ECN-Echo 共6bit,保留待用。?
URG1bit 紧急指针位,取值1代表这个数据是紧急数据需加速传递,取值0代表这
是普通数据;?
ACK 1bit确认位,取值1代表这是一个确认的TCP包,取值0则不是确认包;PSH 1bit 紧急位,取值 1 代表要求发送方马上发送该分段,而接收方尽快的将报文交给应用层,不做队列处理。取值0 阿迪表这是普通数据;?
RST 1bit重置位,当TCP收到一个不属于该主机的任何一个连接的数据,则向对方
发一个复位包,此时该位取值为1,若取值为0代表这个数据包是传给自己的;?
SYN 1bit请求位,取值1代表这是一个TCP三次握手的建立连接的包,取值为0 就代表是其他包;?
FIN : 1bit完成位,取值1代表这是一个TCPI断开连接的包,取值为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 M文:
2. 第二个TCP M文:
3. 第三个TCP M文:
二分析
上面截图的三个TCP报文段表示了TCP连接时的三次握手阶段。
1. 第一个TCP报文
这是要建立连接的客户(我)向服务器发出连接请求段
在TRANSMISSION CONTROL PR0TOCO截图中我们可以知道源端口号也就是主机端口号为50590,而目的端口号为HTTP的80端口,确认号为0 (相对的),而首部长度为32字节,在标志位FLAGS( 0x0002)中,只设置了SYN也就是位同步标志,表示请求建立连接。窗口大小WINDOW SIZ为8192,校验和CHECKSUM 0x553a,说明是正确的。选项是12字节,里面的内容有最大段(MSS大小为1440字节,占4个字节。
2. 第二个TCP报文
这是服务器在收到请求后,发回确认(SYN+ACK。
在TRANSMISSION CONTROL PROTOCO截图中我们可以知道源主机(服务器)端口号为80,目的主机(客户机)端口号为50590, SEQUENCNHJMBER=0,ACK=#部长
度为32字节。在标志位(0x0012)中设置了ACK和SYN其中SYN表示认可连接,ACK 表示对所接受的段的确认。窗口大小(WINDOW SIZ)为5840,校验和(checksum)为
0x646d,表示正确。选项(options )占12字节,其中包括最大段(MSS大小为1460 字节,占4字节。
3. 第三个TCP报文这是客户向服务器发出的确认段源主机(客户机)端口号为50590,
目的主机(服务器)端口号为80,SEQUENCE
NUMBER=1,ACK=<部长度为20字节。标志位(0x0010)中只设置了ACK表示对所接受的段的确认。窗口大小为16560,校验和为0x7b5f,表示正确。这样就完成了TCP连接的建立阶段。没有options 选项。