分享

数据包详细分析

 昵称29273511 2015-12-14

当我们对Wireshark主窗口各部分作用了解了,学会捕获数据了,接下来就该去认识这些捕获的数据包了。Wireshark将从网络中捕获到的二进制数据按照不同的协议包结构规范,显示在Packet Details面板中。为了帮助用户能够清楚的分析数据,本节将介绍识别数据包的方法。


Wireshark中关于数据包的叫法有三个术语,分别是帧、包、段。下面通过分析一个数据包,来介绍这三个术语。在Wireshark中捕获的一个数据包,如图1.45所示。每个帧中的内容展开后,与图1.48显示的信息类似。


1.48 数据包详细信息

从该界面可以看出显示了五行信息,默认这些信息是没有被展开的。各行信息如下所示:


  • q Frame:物理层的数据帧概况。

  • q Ethernet II:数据链路层以太网帧头部信息。

  • q Internet Protocol Version 4:互联网层IP包头部信息。

  • q Transmission Control Protocol:传输层的数据段头部信息,此处是TCP协议。

  • q Hypertext Transfer Protocol:应用层的信息,此处是HTTP协议。


下面分别介绍下在图1.48中,帧、包和段内展开的内容。如下所示:

1物理层的数据帧概况


  • Frame 5: 268 bytes on wire (2144 bits), 268 bytes captured (2144 bits) on interface 0 #5号帧,线路268字节,实际捕获268字节

  • Interface id: 0 #接口id

  • Encapsulation type: Ethernet (1) #封装类型

  • Arrival Time: Jun 11, 2015 05:12:18.469086000 中国标准时间 #捕获日期和时间

  • [Time shift for this packet: 0.000000000 seconds]

  • Epoch Time: 1402449138.469086000 seconds

  • [Time delta from previous captured frame: 0.025257000 seconds] #此包与前一包的时间间隔

  • [Time since reference or first frame: 0.537138000 seconds] #此包与第一帧的时间间隔

  • Frame Number: 5 #帧序号

  • Frame Length: 268 bytes (2144 bits) #帧长度

  • Capture Length: 268 bytes (2144 bits) #捕获长度

  • [Frame is marked: False] #此帧是否做了标记:否

  • [Frame is ignored: False] #此帧是否被忽略:否

  • [Protocols in frame: eth:ip:tcp:http] #帧内封装的协议层次结构

  • [Number of per-protocol-data: 2] #

  • [Hypertext Transfer Protocol, key 0]

  • [Transmission Control Protocol, key 0]

  • [Coloring Rule Name: HTTP] #着色标记的协议名称

  • [Coloring Rule String: http || tcp.port == 80] #着色规则显示的字符串


2数据链路层以太网帧头部信息


  • Ethernet II, Src: Giga-Byt_c8:4c:89 (1c:6f:65:c8:4c:89), Dst: Tp-LinkT_f9:3c:c0 (6c:e8:73:f9:3c:c0)

  • Destination: Tp-LinkT_f9:3c:c0 (6c:e8:73:f9:3c:c0) #目标MAC地址

  • Source: Giga-Byt_c8:4c:89 (1c:6f:65:c8:4c:89) #源MAC地址

  • Type: IP (0x0800)


3互联网层IP包头部信息


  • Internet Protocol Version 4, Src: 192.168.0.104 (192.168.0.104), Dst: 61.182.140.146 (61.182.140.146)

  • Version: 4 #互联网协议IPv4

  • Header length: 20 bytes #IP包头部长度

  • Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport)) #差分服务字段

  • Total Length: 254 #IP包的总长度

  • Identification: 0x5bb5 (23477) #标志字段

  • Flags: 0x02 (Don't Fragment) #标记字段

  • Fragment offset: 0 #分的偏移量

  • Time to live: 64 #生存期TTL

  • Protocol: TCP (6) #此包内封装的上层协议为TCP



  • Header checksum: 0x52ec [validation disabled] #头部数据的校验和

  • Source: 192.168.0.104 (192.168.0.104) #源IP地址

  • Destination: 61.182.140.146 (61.182.140.146) #目标IP地址


4传输层TCP数据段头部信息


  • Transmission Control Protocol, Src Port: 51833 (51833), Dst Port: http (80), Seq: 1, Ack: 1, Len: 214

  • Source port: 51833 (51833) #源端口号

  • Destination port: http (80) #目标端口号

  • Sequence number: 1 (relative sequence number) #序列号(相对序列号)

  • [Next sequence number: 215 (relative sequence number)] #下一个序列号

  • Acknowledgment number: 1 (relative ack number) #确认序列号

  • Header length: 20 bytes #头部长度

  • Flags: 0x018 (PSH, ACK) #TCP标记字段

  • Window size value: 64800 #流量控制的窗口大小

  • Checksum: 0x677e [validation disabled] #TCP数据段的校验和


Wireshark分析数据包

Wireshark中的数据包都可以称为是网络数据。每个网络都有许多不同的应用程序和不同的网络涉及。但是一些常见的包中,通常都会包括一些登录程序和网络浏览会话。本节以访问Web浏览器为例将介绍分析网络数据的方法。

通常在访问Web服务器过程中,会涉及到DNSTCPHTTP三种协议。由于此过程中来回发送的数据包较为复杂,所以下面将介绍分析Web浏览数据。

【实例1-3】分析访问Web浏览数据。具体操作步骤如下所示:

1捕获访问www.qq.com网站的数据包,并保存该文件名为http-wireshar.pcapng。本例中捕获的文件如图1.49所示。


1.49 http-wireshar.pcapng捕获文件

2接下来通过该捕获文件中的数据,分析访问Web的整个过程。在该捕获过程中,将包含DNS请求、响应、TCP三次握手等数据。如图1.50所示,在该界面显示了在访问网站之间DNS解析过程。


1.50 DNS解析

3在该界面31帧,是DNSwww.qq.com解析为一个IP地址的数据包(被称为一个“A”记录)。32帧表示返回一个与主机名相关的IP地址的DNS响应包。如果客户端支持IPv4IPv6,在该界面将会看到查找一个IPv6地址(被称为“AAAA”记录)。此时,DNS服务器将响应一个IPv6地址或混杂的信息。

说明:31帧是客户端请求百度,通过DNS服务器解析IP地址的过程。标识为“A”记录。


  • 32帧是DNS服务器回应客户端请求的过程。标识为response.


4如图1.51所示,在该界面看客户端和服务器之间TCP三次握手(333435帧)和客户端请求的GET主页面(36帧)。然后服务器收到请求(37帧)并发送响应包(38帧)。

说明:33帧是客户端向服务器发送TCP请求建立连接。标识为SYN


  • 34帧是服务器得到请求后向客户端回应确认包的过程。标识为SYN,ACK。

  • 35帧是客户端回应服务器发送确认包的过程,将于服务器建立连接。标识为ACK。

  • 36帧是客户端向服务器发送HTTP请求内容的过程。标识为GET。

  • 37帧是服务器相应客户端请求的过程,收到请求。标识为ACK。

  • 38帧是服务器向客户端回应内容的过程。



1.51 TCP三次握手

5当客户端从相同的服务器上再次请求访问另一个链接时,将会再次看到一个GET数据包(1909帧),如图1.52所示。


1.52 请求另一个元素

此外,如果链接另一个Web站点时,客户端将再次对下一个站点进行DNS查询(156157帧),TCP三次握手(158159160帧)。如图1.53所示。


1.53 请求下一个站点


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多