移动互联网方向 第九组 抓包

Posted lin-z-y

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了移动互联网方向 第九组 抓包相关的知识,希望对你有一定的参考价值。

一.  Tcp报文格式:

本地ip地址:172.29.11.93

访问网址:http://www.w3school.com.cn/

访问网址的IP地址为:120.55.40.41

 技术分享图片

 技术分享图片

在TCP报文中包涵了源端口/目的端口,源端口标识了发送进程,目的端口标识了接收方进程。由上图可以看出在此报文中我们的源端口号为:59166; 目标端口号为:80

 序列号(32位):

Sequence Number这个是发送序列号,用来标识从源端向目的端发送的数据字节流,它表示在这个报文端中的第一个数据字节的顺序号,序列号是32位的无符号类型,序列号表达达到2^32 - 1后又从0开始, 当建立一个新的连接时,SYN标志为1,系列号将由主机随机选择一个顺序号ISN(Initial Sequence Number)。此报文中的序列号是如下图:为:1efabf1e

 技术分享图片

确认号(32位):

Acknowledgment Number它包涵了发送确认一端所期望收到的下一个顺序号。因此确认序列号应当是上次成功接收到数据的顺序号加1。只有ACK标志为1时确认序号字段才有效。TCP为应用层提供全双工服务,这意味着数据能在两个方向上独立的进行传输,因此连接的两断必须要保证每个方向上的传输数据顺序。确认号为:5cee2c30

 技术分享图片

偏移(4位):这里的偏移实际指的是TCP首部的长度,它用来表明TCP首部中32bit字的数目,通过它可以知道一个TCP包它的用户数据从哪里开始,这个字段占4bit,若此字段的值为1000,则说明TCP首部的长度是8 * 4 = 32字节,所以TCP首部的最大长度是该字段的值为1111 = 15, 15 * 4 =60字节。此报文我们的偏移量在0x50中,又因它占4bit,0x50等于二进制的0101 0000 所以我们的偏移量是 0101=5,所以我们的TCP报文首部长度为5* 4 = 20字节。

 技术分享图片

标志(6位):

 技术分享图片

 

RevervedNonceCWREcn-Echo(6bit)目前没有使用,它们的值都为0,作为保留,留待以后开发新技术时使用。

URG(Urgent Pointer Field Significant):紧急指针标志,用来保证TCP连接不被中断,并且督促中间设备尽快处理这些数据

ACK(Acknowledgement Field Signigicant):确认号字段,该字段为1时表示应答字段有效,即TCP应答号将包含在TCP报文中。

PSH(Push Function): 推送功能,所谓推送功能指的是接收端在接收到数据后立即推送给应用程序,而不是在缓冲区中排队。

RST(Reset the connection): 重置连接,不过一般表示断开一个连接,

SYN(Synchronize sequence numbers):同步序列号,用来发起一个连接请求。

FIN(No more data from sender):表示发送端发送任务已经完成(即断开连接)。

 

窗口大小(16位):

此字段用来进行流量控制,这个值是本机期望一次接收的字节数,即发送数据的窗口大小。告诉对方在不等待确认的情况下,可以发来多大的数据。 这里的窗口大小为:66976

 技术分享图片

 

校验和(16位):

源主机和目的主机根据 TCP 报文段以及伪报头的内容计算校验和。在伪报头中存放着来自 IP 报头以及 TCP 报文段长度信息。与 UDP 一样,伪报头并不在网络中传输,并且在校验和中包含伪报头的目的是为了防止目的主机错误地接收存在路由的错误数据报

 技术分享图片

 

二.  UDP报文格式分析

 

 技术分享图片

 

 

 技术分享图片

 

由图可知源端口号为60754,目的端口号为x11,用户数据报文长度为81比特,校验和为0xf968,数据大小为73比特。

 

三.  IP报文格式分析

 技术分享图片

技术分享图片

 

 

版本(Version):IP协议的版本,目前的IP协议版本号为4,下一代IP协议版本号为6。

首部长度(Header length):IP报头的长度。固定部分的长度(20字节)和可变部分的长度之和。共占4位。最大为1111,即10进制的15,代表IP报头的最大长度可以为15个32bits(4字节),也就是最长可为15*4=60字节,除去固定部分的长度20字节,可变部分的长度最大为40字节。

总长度(Total Length):IP报文的总长度。报头的长度和数据部分的长度之和。此IP报文的总长度为101。

 标识(Identification):唯一的标识主机发送的每一分数据报。通常每发送一个报文,它的值加一。当IP报文长度超过传输网络的MTU(最大传输单元)时必须分片,这个标识字段的值被复制到所有数据分片的标识字段中,使得这些分片在达到最终目的地时可以依照标识字段的内容重新组成原先的数据。故该字段标记当前分片为第几个分片,在数据报重组时很有用。由图可知当前分片为第5375个分片。

 

 

标志:

共3位。R、DF、MF三位。目前只有后两位有效,DF位:为1表示不分片,为0表示分片。MF:为1表示“更多的片”,为0表示这是最后一片。

 技术分享图片

 

 

片位移:

 技术分享图片

 

 

生存时间:

生存时间为128。

 技术分享图片

 

 

协议:

指出IP报文携带的数据使用的是那种协议,以便目的主机的IP层能知道要将数据报上交到哪个进程(不同的协议有专门不同的进程处理)。和端口号类似,此处采用协议号,TCP的协议号为6,UDP的协议号为17。ICMP的协议号为1,IGMP的协议号为2.

 技术分享图片

Header checkusm(首部校验和):

计算IP头部的校验和,检查IP报头的完整性。

Source (源ip地址):

标识IP数据报的源端设备。

Destination(目的ip地址):

标识ip数据报的目的地址

 

四.    ICMP报文格式分析:

技术分享图片

 

技术分享图片

实验原理:ping是用来测试网络连通性的命令,一旦发出ping命令,主机会发出连续的测试数据包到网络中,在通常的情况下,主机会收到回应数据包,ping采用的是ICMP协议。

在这次实验中可以发现,日常进行的ping操作的icmp报文就只有两种,请求(request)应答(reply)。这两个报文的type不一样,8代表请求,0代表应答;code都为0,表示为回显应答;标示符和序列号都是一样的,表示这两个报文是配对的。

 

 

五.    数据链路层帧格式分析:

实际中,我们会发现,大多数应用程序的以太网数据包都是Ethernet II帧的,如HTTP/Telnet/FTP/SMTP/POP3等应用。其格式如图:

 技术分享图片

帧头:6个字节的目的MAC地址和6字节的源MAC地址。2字节的类型字段,表示封装在数据中的数据类型。

数据:46-1500字节的数据字段。

帧尾:4字节的帧效验序列。

 技术分享图片

 

可见,其目的mac地址为48:8a:d2:7c:9f:c5,源mac地址为70:d9:6d:47:d9:00,类型为0x0800指示了该帧包含了ipv4数据报,另外0x86dd表示该帧包含的是ipv6数据报,0x0806表明指示了该帧包含了ARP帧,0x8100指示了该帧包含了IEEE 802.1Q帧。

 

 

. Tcp三次握手:

 

 技术分享图片

 

 

网络抓包:

 技术分享图片

 

第一次握手,客户端请求连接,此时客户端发送一个tcp,标志位为SYN,序列号为0;

 技术分享图片

 

第二次握手,服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1,如图

 技术分享图片

 

第三次握手,客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1, 如图

 技术分享图片

 

总结:

我们小组在这次的作业中学习到了很多,从Wiershark的安装使用到tcp,ip,udp,icmp的分析,我们通过百度学习,和自己的不断摸索,从刚开始不知道软件到底如何使用到一步步地抓到有效的数据,从弄不清楚握手的流程到最后理解。我们总算有所收获,并完成作业,我们觉得这次作业收获良多。

以上是关于移动互联网方向 第九组 抓包的主要内容,如果未能解决你的问题,请参考以下文章

移动互联网广告 - 第九更 - 互联网广告精准定向技术 - 2016/12/09

软件需求工程与UML建模——第九组第一周工作总结

第九组-冲刺日志(第二天)

第九组

10省!3大重点方向!21个移动物联网应用优秀案例汇总!

移动互联网的下半场,产品经理们该变了