WireShark抓包分析

会有一股神秘感。 提交于 2021-01-13 07:38:11

简述:本文介绍了抓包数据含义,有TCP报文、Http报文、DNS报文。如有错误,欢迎指正。

1、TCP报文


TCP是4层工业标准中的传输层协议,使用三次握手协议建立连接,面向连接的,可靠的通信。当主动方发出SYN连接请求后,等待对方回答SYN,ACK。这种建立连接的方法可以防止产生错误的连接,TCP使用的流量控制协议是可变大小的滑动窗口协议。

  • 第一次握手:建立连接时,客户端发送SYN包(SEQ=x)到服务器,并进入SYN_SEND状态,等待服务器确认。
  • 第二次握手:服务器收到SYN包,必须确认客户的SYN(ACK=x+1),同时自己也送一个SYN包(SEQ=y),即SYN+ACK包,此时服务器进入SYN_RECV状态。
  • 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ACK=y+1),此包发送完毕,客户端和服务器进入Established状态,完成三次握手。

序列号与确认序列号工作方式

第一次发送了"my nam"几个字符,6个字节,序号是1到6
如果服务器正常接收所有字符,那么服务器返回的"确认序列号"就是7,前提是ACK=1
如果服务器只接收了3个字符,也就是"my ",那么服务器返回的"确认序列号"就是4,下一次传送的数据就从第4个序号开始的6个字节(也就是6个字符)

需要注意的是:window的大小由各端自己定义,也就是常说的窗口

1> 封包详细信息

A. 第一行,帧Frame 36838 指的是要发送的数据块,其中,所抓帧的序号为36838,捕获字节数等于传送字节数:70字节;

B. 第二行,以太网,有线局域网技术,是数据链路层。源Mac地址为88:5d:90:00:00:25;目标Mac地址为00:25:22:b5:b9:92;

C. 第三行,IPV4协议,也称网际协议,是网络层;源IP地址为192.168.21.175;目标IP地址为192.168.21.156;

D. 第四行,TCP协议,也称传输控制协议,是传输层;源端口(10086);目标端口(50132);序列号(1361);ACK是TCP数据包首部中的确认标志,对已接收到的TCP报文进行确认,值为1表示确认号有效;长度为16;

E. 第五行,数据共有16字节

2> Frame信息分析

A. Arrival Time:到达时间,值为Jan 14, 2017 08:52:56.239204000

B. EPoch Time:信息出现时间,值为1484355176.239204000秒

C. [ Time delta from previous captured frame: 0.001472000 seconds] :与之前捕获的数据帧时间差:0.001472000秒;

     [Time delta from previous displayed frame: 0.001472000 seconds]:与之前显示的帧时间差: 0.001472000秒;

     [Time since reference or first frame: 1278.276505000 seconds]:距参考帧或第一帧的时间差:1278.276505000秒;

D. Frame Number: 36838,帧编号为36838;

E. Frame Length: 70 bytes (560 bits),帧长度为70字节;

     Capture Length: 70 bytes (560 bits),捕获到的长度为70字节;

F. [Frame is marked: False],帧标记:无;

     [Frame is ignored: False],帧被忽略:无;

G. [Protocols in frame: eth:ip:tcp:data],协议帧:eth(以太网)、IP、tcp、data

H. [Coloring Rule Name: TCP],色彩规则名称:TCP;

     [Coloring Rule String: tcp],色彩规则字符串:TCP;

3> EthernetⅡ信息分析

A. Destination: AsrockIn_b5:b9:92 (00:25:22:b5:b9:92),目标Mac地址为00:25:22:b5:b9:92

B. Source: 88:5d:90:00:00:25 (88:5d:90:00:00:25),源Mac地址为88:5d:90:00:00:25

C. Type: IP (0x0800),类型是IP数据包

4> IPv4 协议信息分析

A. Version: 4,IP协议版本为IPv4;

     Header length: 20 bytes,头部数据长度为20字节;

B. Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport)),区分的服务领域:0x00 (默认的是DSCP:0x00);

C. Flags: 0x02 (Don't Fragment),不支持分组;

     Fragment offset: 0,分组偏移量为0; 

D. Time to live: 64,TTL,生存时间为64,TTL通常表示包在被丢弃前最多能经过的路由器个数,当数据包传输到一个路由器之后,TTL就自动减1,如果减到0了还没有传送到目标主机,那么就自动丢失。

E. Header checksum: 0xcebd [correct],头部校验和

F. Source: 192.168.21.175 (192.168.21.175),源IP地址为192.168.21.175;

    Destination: 192.168.21.156 (192.168.21.156),目标IP地址为192.168.21.156;

5> Trasmission Control Protocol信息分析

其中,对应的TCP首部的数据信息

A. 端口号,数据传输的16位源端口号和16位目标端口号(用于寻找发端和收端应用进程);

B. 序列号(SYN),32位的序列号由接收端计算机使用,重新分段的报文成最初形式。当SYN出现,序列码实际上是初始序列码(Initial Sequence Number,ISN),而第一个数据字节是ISN+1。这个序列号(序列码)可用来补偿传输中的不一致;

C. 确认序列号(ACK),32位的序列号由接收端计算机使用,重组分段的报文成最初形式。如果设置了ACK控制位,这个值表示一个准备接收的包的序列码;

D. 手动的数据包的头字节长度是20字节;

E. Flags,含6种标志

  • URG:紧急标志。紧急标志为"1"表明该位有效。
  • ACK:确认标志。表明确认编号栏有效。大多数情况下该标志位是置位的。TCP报头内的确认编号栏内包含的确认编号(w+1)为下一个预期的序列编号,同时提示远端系统已经成功接收所有数据。
  • PSH:推标志。该标志置位时,接收端不将该数据进行队列处理,而是尽可能快地将数据转由应用处理。在处理Telnet或rlogin等交互模式的连接时,该标志总是置位的。
  • RST:复位标志。用于复位相应的TCP连接。
  • SYN:同步标志。表明同步序列编号栏有效。该标志仅在三次握手建立TCP连接时有效。它提示TCP连接的服务端检查序列编号,该序列编号为TCP连接初始端(一般是客户端)的初始序列编号。在这里,可以把TCP序列编号看作是一个范围从0到4,294,967,295的32位计数器。通过TCP连接交换的数据中每一个字节都经过序列编号。在TCP报头中的序列编号栏包括了TCP分段中第一个字节的序列编号。
  • FIN:结束标志

F. Window,用来表示想收到的每个TCP数据段的大小。TCP的流量控制由连接的每一端通过声明的窗口大小来提供。窗口大小为字节数,起始于确认序号字段指明的值,这个值是接收端正期望接收的字节。窗口大小是一个16字节字段,因而窗口大小最大为65535字节,上面显示窗口大小为1825字节;

G. Checksum,16位校验和,源机器基于数据内容计算一个数值,收信息机要与源机器数值 结果完全一样,从而证明数据的有效性。检验和覆盖了整个的TCP报文段:这是一个强制性的字段,一定是由发送端计算和存储,并由接收端进行验证的;

6> Data信息分析

A.  TCP 报文段中的数据(该部分是可选的),长度为16字节;

2、Http报文


链路层的信息上是以帧的形式进行传输的,帧封装了应用层、传输层、网络层的数据。而Wireshark抓到的就是链路层的一帧;

1> 封装包详细信息

A. 第一行,帧Frame 12411 指的是要发送的数据块,其中,所抓帧的序号为12411,捕获字节数等于传送字节数:233字节;

B. 第二行,以太网,有线局域网技术,是数据链路层。源Mac地址为24:69:68:6b:78:96;目标Mac地址为00:25:22:b5:b9:92;

C. 第三行,IPV4协议,也称网际协议,是网络层;源IP地址为220.181.57.234;目标IP地址为192.168.21.156;

D. 第四行,TCP协议,也称传输控制协议,是传输层;源端口(80);目标端口(53985);序列号(1);ACK是TCP数据包首部中的确认标志,对已接收到的TCP报文进行确认,值为1表示确认号有效;长度为179;

E. 第五行,Http协议,也称超文本传输协议,是应用层。

2> Http请求报文分析

报文分析:

在抓包分析过程中还发现了另外一些http请求报文中所特有的首部字段名,比如下面http请求报文中橙黄色首部字段名:

3> Http响应报文分析

报文分析:

3、 DNS报文


1> 封包详细信息


A. 第一行,帧Frame 12237 指的是要发送的数据块,其中,所抓帧的序号为12237,捕获字节数等于传送字节数:133字节;

B. 第二行,以太网,有线局域网技术,是数据链路层。源Mac地址为24:69:68:6b:78:96;目标Mac地址为00:25:22:b5:b9:92;

C. 第三行,IPV4协议,也称网际协议,是网络层;源IP地址为192.168.211.254;目标IP地址为192.168.211.84;

D. 第四行,UDP协议,是传输层;源端口domain(53);目标端口(65219);

E. 第五行,DNS协议,是应用层。

2> DNS 查询报文

报文分析:

3> DNS响应报文

报文分析:

4、Ping


 

 

wireshark抓包分析:https://blog.51cto.com/yttitan?type=3

HTTP协议分析推荐博客:https://blog.51cto.com/yttitan?type=3

扩展阅读

为什么在服务端获取不到MAC地址:https://www.jianshu.com/p/61b1506e4c0f

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!