目录
引言
范围
什么是Wireshark
Wireshark的下载及安装
Wireshark的使用
实施抓包
使用显示过滤器
分析数据包层次结构
移动设备如何抓包
开启热点并连接
Wireshark进行抓取
引言
该文档用于说明wireshark工具的安装和使用。
范围
本文档适用于学习wireshark工具如何进行网络数据包分析的入门教程。
什么是Wireshark
Wireshark是一个功能十分强大的开源的网络数据包分析器,可实时从网络接口捕获数据包中的数据。它尽可能详细地显示捕获的数据以供用户检查它们的内容,并支持多协议的网络数据包解析。Wireshark 适用于 Windows 和 UNIX 操作系统。它可被用于检查安全问题和解决网络问题,也可供开发者调试协议的实现和学习网络协议的原理。在 GNU 通用公共许可证的保障下,用户可免费获得软件与源代码,并拥有对源代码修改及定制的权利。
Wireshark的下载及安装
本节讲解如何在 Windows 系统中安装 Wireshark 工具。
安装方法如下:
1. 打开网址 Wireshark · Go Deep,进入 Wireshark 官网,如图所示。
2. 单击图中的” Download Wireshark Now” 链接进入下载页面,如图所示
在 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的使用
实施抓包
安装好 Wireshark 以后,就可以运行它来捕获数据包了。方法如下:
1. 在 Windows 的“开始”菜单中,单击 Wireshark 菜单,启动 Wireshark,如图所示。
该图为 Wireshark 的主界面,界面中显示了当前可使用的接口,例如,本地连接 8、本地连接 7 等。要想捕获数据包,必须选择一个接口,表示捕获该接口上的数据包。
2. 在上图中,选择捕获“本地连接”接口上的数据包。选择“本地连接”选项,然后单击左上角的“开始捕获分组”按钮,将进行捕获网络数据,如下如所示。
图中没有任何信息,表示没有捕获到任何数据包。这是因为目前“本地连接”上没有任何数据。只有在本地计算机上进行一些操作后才会产生一些数据,如浏览网站。
3. 我们切换到有网络的接口,“以太网3”接口的数据将会被 Wireshark 捕获到。捕获的数据包如图所示。图中方框中显示了成功捕获到“以太网3”接口上的数据包。
4. Wireshark 将一直捕获“以太网3”上的数据。如果不需要再捕获,可以单击左上角的“停止捕获分组”按钮,停止捕获。
使用显示过滤器
默认情况下,Wireshark 会捕获指定接口上的所有数据,并全部显示,这样会导致在分析这些数据包时,很难找到想要分析的那部分数据包。这时可以借助显示过滤器快速查找数据包。
显示过滤器是基于协议、应用程序、字段名或特有值的过滤器,可以帮助用户在众多的数据包中快速地查找数据包,可以大大减少查找数据包时所需的时间。
使用显示过滤器,需要在 Wireshark 的数据包界面中输入显示过滤器并执行,如图所示。
图中方框标注的部分为显示过滤器区域。用户可以在里面输入显示过滤器,进行数据查找,也可以根据协议过滤数据包。
显示过滤器 | 作用 |
arp | 显示所有 ARP 数据包 |
bootp | 显示所有 BOOTP 数据包 |
dns | 显示所有 DNS 数据包 |
ftp | 显示所有 FTP 数据包 |
http | 显示所有 HTTP 数据包 |
icmp | 显示所有 ICMP 数据包 |
ip | 显示所有 IPv4 数据包 |
ipv6 | 显示所有 IPv6 数据包 |
tcp | 显示所有基于 TCP 的数据包 |
tftp | 显示所有 TFTP(简单文件传输协议)数据包 |
例如,要从捕获到的所有数据包中,过滤出 DNS 协议的数据包,这里使用 dns 显示过滤器,过滤结果如图所示。图中显示的所有数据包的协议都是 DNS 协议。
分析数据包层次结构
任何捕获的数据包都有它自己的层次结构,Wireshark 会自动解析这些数据包,将数据包的层次结构显示出来,供用户进行分析。这些数据包及数据包对应的层次结构分布在 Wireshark 界面中的不同面板中。
下面介绍如何查看指定数据包的层次结构。
1. 使用 Wireshark 捕获数据包,界面如图所示。
上图中所显示的信息从上到下分布在 3 个面板中,每个面板包含的信息含义如下:
- Packet List 面板:上层面板,显示 Wireshark 捕获到的所有数据包,这些数据包从 1 进行顺序编号。
- Packet Details 面板:下左面板,显示一个数据包的详细内容信息,并且以层次结构进行显示。这些层次结构默认是折叠起来的,用户可以展开查看详细的内容信息。
- Packet Bytes 面板:下右面板,显示一个数据包未经处理的原始样子,数据是以十六进制和 ASCII 格式进行显示。
2. 以 HTTP 协议数据包为例,了解该数据包的层次结构。在 Packet List 面板中找到一个 HTTP 协议数据包,如图所示。
其中,编号 7438 的数据包是一个 HTTP 协议数据包。此时在 Packet Details 面板上显示的信息就是该数据包的层次结构信息。
这里显示了 6 个层次,每个层次的含义如下:
- Frame:该数据包物理层的数据帧概况。
- Ethernet II:数据链路层以太网帧头部信息。
- Internet Protocol Version 4:网际层 IP 包头部信息。
- Transmission Control Protocol:传输层的数据段头部信息。
- Hypertext Transfer Protocol:应用层的信息,此处是 HTTP 协议。
- Data:网络数据传输。
由此可见,Wireshark 对 HTTP 协议数据包进行解析,显示了 HTTP 协议的层次结构。
3. 用户对数据包分析就是为了查看包的信息,展开每一层,可以查看对应的信息。例如,查看数据链路层信息,展开 Ethernet II 层,显示信息如下:
- Ethernet II, Src: Dell_59:53:82 (70:b5:e8:59:53:82), Dst: HuaweiTe_0e:f4:d2 (f4:1d:6b:0e:f4:d2)
- Destination: HuaweiTe_0e:f4:d2 (f4:1d:6b:0e:f4:d2) //目标MAC地址
- Source: Dell_59:53:82 (70:b5:e8:59:53:82) //源MAC地址
- Type: IPv4 (0x0800)
显示的信息包括了该数据包的发送者和接收者的 MAC 地址(物理地址)。可以以类似的方法分析其他数据包的层次结构。
移动设备如何抓包
移动设备抓包需要电脑开启热点,设备连接热点进行抓包
开启热点并连接
首先打开设置,然后搜索热点,然后打开移动热点,如下,开启热点
然后移动设备连接此热点,如下为连接成功
注意此处需要留意一下设备的ip地址,后续要用
Wireshark进行抓取
当前的ip地址是192.168.137.1
然后点击Wireshark的捕获按钮,然后点击选项
然后选择IP地址是上述地址的连接,最后点击开始按钮
由于信息太多我们可以对ip进行过滤,将设备ip过滤出来,如下:
可以看出来已经可以抓取到移动设备相关网络信息了