简介
在这个实验中,你将学习使用 Wireshark 的命令行工具 Tshark 来捕获和分析无线网络帧。你将通过实际操作练习在无线接口上启用监控模式、使用特定过滤器捕获数据包,以及查看帧的详细信息。
本实验涵盖了一些重要技术,包括接口配置、实时数据包捕获,以及对 802.11 信标帧的针对性分析。你将通过命令行和图形用户界面 (GUI) 两种方式获得实际操作经验,以观察在标准网络模式下通常不可见的无线流量。
在这个实验中,你将学习使用 Wireshark 的命令行工具 Tshark 来捕获和分析无线网络帧。你将通过实际操作练习在无线接口上启用监控模式、使用特定过滤器捕获数据包,以及查看帧的详细信息。
本实验涵盖了一些重要技术,包括接口配置、实时数据包捕获,以及对 802.11 信标帧的针对性分析。你将通过命令行和图形用户界面 (GUI) 两种方式获得实际操作经验,以观察在标准网络模式下通常不可见的无线流量。
在这一步中,你将学习如何使用 -I
标志在 Wireshark 中启用监控模式。监控模式是一种特殊的无线接口模式,它允许你的网络适配器捕获特定信道上的所有无线流量,包括并非发送给你的设备的数据包。这与正常的“管理模式”不同,在管理模式下,你的设备仅接收发送给自己的数据包。
在开始之前,我们需要确认你的无线接口是否可用。大多数 Linux 系统使用 wlan0
作为默认的无线接口名称。我们将使用 iwconfig
命令进行检查:
iwconfig
你应该会在接口列表中看到 wlan0
。如果你看到的是其他名称,则需要在后续命令中替换该名称。
接下来,我们将使用 aircrack-ng 套件中的 airmon-ng
来启用监控模式。这个工具可以帮助管理无线接口:
sudo airmon-ng start wlan0
此命令会创建一个处于监控模式的新虚拟接口,通常命名为 wlan0mon
。“mon”后缀表示该接口处于监控模式。
让我们通过检查接口属性来验证该模式是否已激活:
iwconfig wlan0mon
在输出中,查找“Mode:Monitor”,这表明该接口已正确配置。你可能还会在此处看到有关频率和信道的详细信息。
现在,我们准备以启用监控模式的方式启动 Wireshark:
wireshark -I -i wlan0mon
-I
标志专门告诉 Wireshark 使用监控模式,而 -i wlan0mon
则指定了我们的监控接口。如果没有这些参数,Wireshark 将尝试以正常的管理模式进行捕获。
当 Wireshark 打开时,查看接口列表。你应该会看到 wlan0mon
,其旁边带有“(monitor mode)”指示符。这种直观的确认有助于确保你正在正确捕获所有无线流量。
在这一步中,你将使用 Wireshark 的命令行界面捕获无线网络流量。-i
标志非常关键,因为它告诉 Wireshark 要监控哪个网络接口。由于我们处理的是无线网络,所以将使用之前准备好的监控模式接口。
在开始之前,让我们确认监控模式接口已正确设置。此验证可确保我们捕获的是正确类型的无线数据:
iwconfig wlan0mon
在输出中查找“Mode:Monitor”,这表明你的接口已准备好捕获你周围的所有无线流量,而不仅仅是发往你设备的流量。
现在,我们将启动 Wireshark 开始捕获数据包:
wireshark -i wlan0mon
-i wlan0mon
部分专门告诉 Wireshark 使用我们的监控模式接口。在出现的 Wireshark 窗口中:
完成数据包捕获后,若要停止捕获:
如果你更喜欢在终端中操作,或者需要自动执行捕获任务,那么 Tshark(Wireshark 的命令行版本)是个不错的选择:
tshark -i wlan0mon -c 10
此命令会精确捕获 10 个数据包,然后自动停止,并将结果直接显示在你的终端中。-c
标志用于控制在停止捕获之前要捕获的数据包数量。
在这一步中,你将学习如何使用显示过滤语法在 Wireshark 中过滤信标帧。信标帧是一种特殊的管理帧(类型为 0x08),无线接入点会持续广播这些帧以宣告其网络的存在。这些帧包含了诸如网络名称(SSID)、支持的数据速率和安全设置等重要信息。
wireshark -i wlan0mon
此命令将启动 Wireshark 并开始在 wlan0mon 接口上捕获数据包,该接口应该已经在之前的设置中处于监控模式。
wlan.fc.type_subtype == 0x08
这个过滤器告诉 Wireshark 只显示帧类型/子类型与信标帧匹配的数据包(十六进制的 0x08)。
现在,你应该只会在数据包列表中看到信标帧。这些帧通常会显示:
若要详细检查某个信标帧:
若要使用 tshark 进行命令行过滤(适用于自动捕获):
tshark -i wlan0mon -Y "wlan.fc.type_subtype==0x08" -c 5
此命令会从 wlan0mon 接口捕获恰好 5 个符合我们过滤器(-Y)的信标帧(-c 5),然后自动退出。tshark 中的 -Y 标志的作用与 Wireshark 的显示过滤器类似。
在这一步中,你将学习如何使用 Wireshark 的详细输出模式,通过 -V
标志在终端中显示详细的帧信息。当使用像 tshark 这样的命令行工具时,这特别有用,因为它比默认的摘要视图提供更全面的信息。
tshark -r /tmp/capture.pcap -Y "wlan.fc.type_subtype==0x08" -V
此命令从你保存的捕获文件(/tmp/capture.pcap
)中读取数据,并过滤出信标帧(类型/子类型为 0x08)。-V
标志告诉 tshark 显示每个帧的所有可用详细信息。
-V
标志提供详细输出,显示:
若要捕获并实时显示详细输出的帧:
tshark -i wlan0mon -Y "wlan.fc.type_subtype==0x08" -V -c 5
这将:
-c 5
参数限制捕获数量)在详细输出中需要关注的关键信息:
为了提高可读性,特别是对于较长的输出,你可以将输出通过管道传递给 less
:
tshark -i wlan0mon -Y "wlan.fc.type_subtype==0x08" -V -c 5 | less
这样你就可以使用箭头键逐页滚动输出,而不是让所有内容一次性显示在终端中。完成查看后,按 'q' 退出 less
查看器。
在本次实验中,你学习了如何使用处于监控模式的 Wireshark 捕获无线帧。关键步骤包括使用 airmon-ng
启用监控模式、使用 iwconfig
验证接口状态,以及使用 -I
标志启动 Wireshark 以进行监控模式捕获。你还练习了使用 -i
指定监控接口并观察实时流量。
此外,你探索了过滤技术,使用 -Y
过滤信标帧,使用 -V
进行详细分析。本次实验涵盖了 GUI 和命令行两种方法,包括使用 tshark
进行无界面操作,为无线帧分析奠定了坚实的基础。