目录

引言

范围

什么是Wireshark

Wireshark的下载及安装

Wireshark的使用

实施抓包

使用显示过滤器

分析数据包层次结构

移动设备如何抓包

开启热点并连接

Wireshark进行抓取


引言

该文档用于说明wireshark工具的安装和使用。

范围

本文档适用于学习wireshark工具如何进行网络数据包分析的入门教程。

什么是Wireshark

Wireshark是一个功能十分强大的开源的网络数据包分析器,可实时从网络接口捕获数据包中的数据。它尽可能详细地显示捕获的数据以供用户检查它们的内容,并支持多协议的网络数据包解析。Wireshark 适用于 Windows 和 UNIX 操作系统。它可被用于检查安全问题和解决网络问题,也可供开发者调试协议的实现和学习网络协议的原理。在 GNU 通用公共许可证的保障下,用户可免费获得软件与源代码,并拥有对源代码修改及定制的权利。

Wireshark的下载及安装

本节讲解如何在 Windows 系统中安装 Wireshark 工具。

安装方法如下:

1. 打开网址 Wireshark · Go Deep,进入 Wireshark 官网,如图所示。

wireshark工具的安装和使用_wireshark

2. 单击图中的” Download Wireshark Now” 链接进入下载页面,如图所示

wireshark工具的安装和使用_测试工具_02

在 Stable Release 部分可以看到目前 Wireshark 的最新版本是 4.2.4,并提供了 Windows(64-bit)、Mac OS 和源码包的下载地址。用户可以根据自己的操作系统下载相应的软件包。

3. 这里下载 Windows 64 位的安装包。单击 Windows Installer(64-bit) 链接,进行下载。下载后的文件名为 Wireshark-win64-4.2.4.exe。

4. 双击下载的软件包进行安装。安装比较简单,只要使用默认值,单击 Next 按钮,即可安装成功。

5. 安装好以后,在 Windows 的“开始”菜单中会出现 Wireshark 图标,如图所示。

wireshark工具的安装和使用_层次结构_03

Wireshark的使用

实施抓包

安装好 Wireshark 以后,就可以运行它来捕获数据包了。方法如下:

1. 在 Windows 的“开始”菜单中,单击 Wireshark 菜单,启动 Wireshark,如图所示。

wireshark工具的安装和使用_层次结构_04

该图为 Wireshark 的主界面,界面中显示了当前可使用的接口,例如,本地连接 8、本地连接 7 等。要想捕获数据包,必须选择一个接口,表示捕获该接口上的数据包。

2. 在上图中,选择捕获“本地连接”接口上的数据包。选择“本地连接”选项,然后单击左上角的“开始捕获分组”按钮,将进行捕获网络数据,如下如所示。

图中没有任何信息,表示没有捕获到任何数据包。这是因为目前“本地连接”上没有任何数据。只有在本地计算机上进行一些操作后才会产生一些数据,如浏览网站。

wireshark工具的安装和使用_层次结构_05

3. 我们切换到有网络的接口,“以太网3”接口的数据将会被 Wireshark 捕获到。捕获的数据包如图所示。图中方框中显示了成功捕获到“以太网3”接口上的数据包。

wireshark工具的安装和使用_网络_06

4. Wireshark 将一直捕获“以太网3”上的数据。如果不需要再捕获,可以单击左上角的“停止捕获分组”按钮,停止捕获。

使用显示过滤器

默认情况下,Wireshark 会捕获指定接口上的所有数据,并全部显示,这样会导致在分析这些数据包时,很难找到想要分析的那部分数据包。这时可以借助显示过滤器快速查找数据包。

显示过滤器是基于协议、应用程序、字段名或特有值的过滤器,可以帮助用户在众多的数据包中快速地查找数据包,可以大大减少查找数据包时所需的时间。

使用显示过滤器,需要在 Wireshark 的数据包界面中输入显示过滤器并执行,如图所示。

wireshark工具的安装和使用_层次结构_07

图中方框标注的部分为显示过滤器区域。用户可以在里面输入显示过滤器,进行数据查找,也可以根据协议过滤数据包。

显示过滤器

作用

arp

显示所有 ARP 数据包

bootp

显示所有 BOOTP 数据包

dns

显示所有 DNS 数据包

ftp

显示所有 FTP 数据包

http

显示所有 HTTP 数据包

icmp

显示所有 ICMP 数据包

ip

显示所有 IPv4 数据包

ipv6

显示所有 IPv6 数据包

tcp

显示所有基于 TCP 的数据包

tftp

显示所有 TFTP(简单文件传输协议)数据包

例如,要从捕获到的所有数据包中,过滤出 DNS 协议的数据包,这里使用 dns 显示过滤器,过滤结果如图所示。图中显示的所有数据包的协议都是 DNS 协议。

wireshark工具的安装和使用_测试工具_08

分析数据包层次结构

任何捕获的数据包都有它自己的层次结构,Wireshark 会自动解析这些数据包,将数据包的层次结构显示出来,供用户进行分析。这些数据包及数据包对应的层次结构分布在 Wireshark 界面中的不同面板中。

下面介绍如何查看指定数据包的层次结构。

1. 使用 Wireshark 捕获数据包,界面如图所示。

wireshark工具的安装和使用_层次结构_09

上图中所显示的信息从上到下分布在 3 个面板中,每个面板包含的信息含义如下:

  1. Packet List 面板:上层面板,显示 Wireshark 捕获到的所有数据包,这些数据包从 1 进行顺序编号。
  2. Packet Details 面板:下左面板,显示一个数据包的详细内容信息,并且以层次结构进行显示。这些层次结构默认是折叠起来的,用户可以展开查看详细的内容信息。
  3. Packet Bytes 面板:下右面板,显示一个数据包未经处理的原始样子,数据是以十六进制和 ASCII 格式进行显示。

2. 以 HTTP 协议数据包为例,了解该数据包的层次结构。在 Packet List 面板中找到一个 HTTP 协议数据包,如图所示。

wireshark工具的安装和使用_Wireshark_10

其中,编号 7438 的数据包是一个 HTTP 协议数据包。此时在 Packet Details 面板上显示的信息就是该数据包的层次结构信息。

这里显示了 6 个层次,每个层次的含义如下:

  1. Frame:该数据包物理层的数据帧概况。
  2. Ethernet II:数据链路层以太网帧头部信息。
  3. Internet Protocol Version 4:网际层 IP 包头部信息。
  4. Transmission Control Protocol:传输层的数据段头部信息。
  5. Hypertext Transfer Protocol:应用层的信息,此处是 HTTP 协议。
  6. Data:网络数据传输。

由此可见,Wireshark 对 HTTP 协议数据包进行解析,显示了 HTTP 协议的层次结构。

3. 用户对数据包分析就是为了查看包的信息,展开每一层,可以查看对应的信息。例如,查看数据链路层信息,展开 Ethernet II 层,显示信息如下:


  1. Ethernet II, Src: Dell_59:53:82 (70:b5:e8:59:53:82), Dst: HuaweiTe_0e:f4:d2 (f4:1d:6b:0e:f4:d2)  
  2.     Destination: HuaweiTe_0e:f4:d2 (f4:1d:6b:0e:f4:d2) //目标MAC地址
  3.     Source: Dell_59:53:82 (70:b5:e8:59:53:82) //源MAC地址
  4.     Type: IPv4 (0x0800)  


显示的信息包括了该数据包的发送者和接收者的 MAC 地址(物理地址)。可以以类似的方法分析其他数据包的层次结构。

移动设备如何抓包

移动设备抓包需要电脑开启热点,设备连接热点进行抓包

开启热点并连接

首先打开设置,然后搜索热点,然后打开移动热点,如下,开启热点

wireshark工具的安装和使用_层次结构_11

然后移动设备连接此热点,如下为连接成功

wireshark工具的安装和使用_Wireshark_12

注意此处需要留意一下设备的ip地址,后续要用

Wireshark进行抓取

wireshark工具的安装和使用_网络_13

当前的ip地址是192.168.137.1

然后点击Wireshark的捕获按钮,然后点击选项

wireshark工具的安装和使用_层次结构_14

然后选择IP地址是上述地址的连接,最后点击开始按钮

wireshark工具的安装和使用_测试工具_15

由于信息太多我们可以对ip进行过滤,将设备ip过滤出来,如下:

wireshark工具的安装和使用_层次结构_16

可以看出来已经可以抓取到移动设备相关网络信息了