网络流量分析(via Wireshark)

实践任务。

操作系统:Windows

实验工具:Wireshark 3.0.3

实验目的

  • 了解掌握Wireshark网络流量分析的基本功能
  • 了解掌握网络流量分析的基本方法和步骤

任务1 端点和会话统计分析

端点(endpoint)就是指网络上能够发送或者接受数据的一台设备。

两个端点之间的通信被称为会话(conversation)

Wireshark根据交互的特性来标识端点会话,特别是在多种协议之间所使用的地址。

异常流量溯源的基本步骤:

1、通过端点窗口找到发送/接受数据包最多、最大的端点

2、打开会话窗口验证通信数据包最多、最大的端点的通信行为,找到它们之间是否存在通信

3、直接将该会话作为筛选过滤器,在数据包列表面板中进行进一步的分析

Packets :通信数据包个数

Bytes :数据量

Tx :发送的

Rx :接收的

任务2 关于名称解析

Wireshark 在分析捕获的数据包时,往往使用名称解析来简化分析过程。

  • 解析MAC 地址(resolve MAC address):这种类型的名称解析使用ARP 协议,试图将第2 层的物理地址转换为网络层的IP 地址。如果这种尝试失败,那么Wireshark会使用程序目录中的ethers 文件尝试进行转换。
  • 解析传输名称(resolve transport name):这种类型的名称解析尝试将一个端口号转换成一个与其相关的名字。例如:将端口号80 显示为http。当你碰到一个不常见的端口号而你又不知道这代表着什么协议的时候,这个功能就非常有用了。
  • 解析网络名称(resolve network/IP name):这种类型的名称解析试图将第三层的IP地址转换成为更容易记忆的域名,如果这个域名具有高描述性的话,这种转换对我们理解系统的目的或者所有者,将是非常有帮助的哟。
  • Use captured DNS packet data for address resolve:从已经捕获的DNS 数据包中解析出IP 地址和域名的映射关系。
  • Use an external network name resolve:允许Wireshark 使用你当前设备配置的DNS服务器来解析捕获数据包中的IP 地址对应的名称。这个功能在捕获的数据包中没有DNS 数据,但是仍然需要名称帮助分析的时候,非常有用。

任务3 流追踪

  • Wireshark 分析功能中令人满意的一点就是他能够将来自不同包的数据重组成统一易读的格式。流跟踪功能看可以把从客户端发往服务器的数据都排列好顺序使其变得更容易查看,这样就不需要从一堆小块数据里面一个包一个包的跟踪了。
  • 目前Wireshark 可以跟踪4 种类型的流,他们是TCP 流、UDP 流、SSL 流和HTTP 流。在Wireshark 的数据包面板中右键单击任意一个相关的数据包,选择“追踪流”即可。

任务4 数据包长度统计

统计->分组长度

  • 特别注意哪些大小为1280-2559 字节的数据包的统计,这些较大的数据包往往意味着数据传输,而较小的数据包则意味着协议控制数据。

任务5 丢失的页面

  • 首先,我们需要从大量的网络数据包中找到http 请求数据包。

    方法1:设置过滤器筛选http GET 请求数据包

    方法2:通过使用Wireshark 统计功能中的HTTP 请求序列功能

    (捕获文件中总共有14 个DNS 数据包,也就是说存在7 次DNS查询

    (实际出现了8次对话,最后一个对话仅有A->B方向的传输,没有B->A方向的传输)

    对最后一个异常会话进行筛选查看。

  • 通过分析异常会话,我们发现全部是TCP SYN 数据包。HTTP 需要建立在TCP 链接之上,TCP 建立链接需要有SYN、SYNACK、ACK 三个类型的数据包一次交互才能成功。通常情况下,当一台主机向对方发送TCP SYN 数据包之后,对方应该回应TCP SYNACK 数据包,信息交互才能正常进行下去。而从会话分析,这里只有Peter 的计算机向未知主机发送的SYN 数据包,而对方始终未回应一个字节的数据。从这一点看,我们似乎找到了Peter 的页面打开缓慢最终丢失信息的直接原因了。

黑色的内容表示重新传输的文件)

  • Peter 碰到的情况可能是之前使用过某个名称,并对该名称的IP进行过DNS 查询并且该映射关系被系统缓存了,因此这次再次使用该名称时系统直接从DNS 缓存中使用了这个映射关系。非常不幸的是,这个地址所标志的那个主机却由于某种不知道的原因更换了地址于名称的映射关系或者停止了服务,此时Peter 的设备就去尝试连接一个无效的地址了,作为结果就是请求超时,内容加载失败。

  • 解决方法:

    1、手动删除DNS 缓存; 2、等待一段时间,让其DNS 缓存过期失效。