无线网络安全--实验 Wireshark的简单使用
一、实验目的
掌握Wireshark 的简单使用,如:网络接口的选择、抓包任务的创建、启动与停止 抓包、查看分析数据包、显示过滤器的简单设置等。
二、实验器材
笔记本电脑、支持Kali的无线网卡,VMware虚拟机软件和Kali系统。
三、实验步骤
步骤一:
在VMware虚拟机软件启动Kali系统 过程(略)
步骤二:
连接、启动和设置USB无线网卡。 将USB无线网卡插入到笔记本电脑,并通过如下图所示方式确保将USB无线网卡连 接到虚拟机中的Kali系统。

或者插入无线网卡的时候就会蹦出弹窗,连接到虚拟机,选择所用虚拟机就好了

在控制终端输入如下图所示的命令,检查无线网卡的连接情况。
iwconfig

如果无线网卡处于关闭状态,则使用如下图所示的命令开启无线网卡。
ifconfig wlan0 up
再使用如下图所示的命令检查无线网卡的状态。
ifconfig wlan0

使用如下图所示命令将无线网卡设置为监听模式。
airmon-ng start wlan0

使用如下图所示命令查看无线网卡是否已经设置为监听模式。
iwconfig

步骤三:
运行Wireshark软件进行抓包操作。 可以使用如下图所示的方式启动Wireshark软件。

Wireshark 的主界面如下图所示。


在上图所示的界面中选择需要监听的信道(若没有出现上图所示的工具栏,可通过 勾选“视图”菜单中的“无线工具栏”显示该工具栏)和需要进行抓包的网络接口,单 击 开始抓包,抓包效果如下图所示。期间浏览一些网页(最好有表单数据提交,例 如登录功能),以便产生一些 HTTP 包,抓取一段时间后单击“ ”停止抓包。

问题1:如果抓不到包,通常是由以下原因导致的,可以按顺序排查:
1. 接口状态检查(最常见原因)
虽然 wlan0mon 显示在列表中,但它可能没有真正进入“监听模式”或没有正确绑定到信道。
- 原因:
wlan0mon通常是由airmon-ng start wlan0命令生成的。如果生成过程出错,或者在生成后网卡被其他进程(如 NetworkManager)重置了,它就无法抓包。 - 解决方法:
- 在终端输入
iwconfig查看wlan0mon的状态。确保其 Mode 显示为 Monitor。 - 如果没有显示 Monitor,请尝试重启监听模式:
1airmon-ng check kill # 杀掉干扰进程 2airmon-ng stop wlan0mon # 停止旧的监听 3airmon-ng start wlan0 # 重新开启
- 在终端输入
2. 信道未锁定
Wi-Fi 监听模式通常需要锁定在一个特定的信道上才能抓到包。如果网卡在自动跳频,或者锁定在了一个没有流量的信道上,就会显示为空。
- 原因:网卡默认可能锁定在信道 1,而你周围的路由器都在信道 6 或 11。
- 解决方法:
- 在终端手动切换信道测试(例如切换到信道 6):
1iwconfig wlan0mon channel 6 - 或者使用
airodump-ng wlan0mon看看能否扫描到周围的 AP。如果airodump-ng能看到数据,但 Wireshark 看不到,说明是 Wireshark 的配置问题;如果airodump-ng也看不到,说明是网卡驱动或硬件问题。
- 在终端手动切换信道测试(例如切换到信道 6):
3. 网卡驱动不支持注入/监听
并非所有无线网卡都支持真正的监听模式(Monitor Mode)。
- 原因:很多板载网卡或廉价的 USB 网卡虽然能创建
wlan0mon接口,但实际上无法接收所有数据包(特别是非自己连接的数据包)。 - 解决方法:
- 确认你的网卡芯片型号(如 RTL8812AU, AR9271 等是常见的支持监听的芯片)。
- 使用
airmon-ng检查是否有 "packet injection" 失败的提示。
4. Wireshark 权限问题
虽然截图显示你是以 root 或 sudo 权限运行的(通常 Kali Linux 下默认如此),但如果权限不足,Wireshark 可能无法从底层接口读取数据。
- 解决方法:
- 确保你是通过
sudo wireshark启动的,或者已经将当前用户加入了wireshark用户组。
- 确保你是通过
5. 物理环境问题
- 原因:你所在的区域可能真的没有 Wi-Fi 信号,或者信号太弱。
- 验证方法:看截图右侧的波形图,
wlan0有波动,说明有流量。但wlan0mon下面的波形是一条直线(或者波动极小),这确实表明它没有接收到数据帧。
建议的操作步骤
- 打开终端,运行
airodump-ng wlan0mon。 - 观察终端里是否有数据跳动。
- 如果有:说明网卡工作正常,关闭 Wireshark 重新打开,再次尝试选择
wlan0mon开始捕获。 - 如果没有:说明网卡监听模式有问题,请尝试更换信道或重启网卡。
- 如果有:说明网卡工作正常,关闭 Wireshark 重新打开,再次尝试选择
我操作的时候是,当前的软件配置环境有问题,这直接导致了无法抓包。
简单来说:硬件是支持监听的,但被系统里的后台程序“干扰”了。
第一步:杀掉干扰进程
这是最关键的一步,直接解决截图中的警告。输入以下命令:
airmon-ng check kill
执行后,你会看到系统提示 Killing 了 NetworkManager 和 wpa_supplicant 等进程。
第二步:重启监听模式
杀掉进程后,之前的 wlan0mon 接口可能已经失效或状态不对,建议重新开启一次:
airmon-ng start wlan0
此时,系统应该不会再报“Found processes”的警告了。
第三步:锁定信道(可选但推荐)
为了防止网卡乱跳,建议手动锁定一个信道(比如信道 6,这是最常见的信道):
iwconfig wlan0mon channel 6
(注意:如果你的接口名变成了 wlan0mon,就用这个名字;如果变成了 mon0,就用 mon0)
第四步:验证与抓包
- 验证: 输入
iwconfig,确认wlan0mon的 Mode 是Monitor。 - 测试: 此时不要急着开 Wireshark,先用
airodump-ng wlan0mon看看能不能刷出周围的 Wi-Fi 列表。- 如果能刷出列表:说明监听模式成功了!这时候再去打开 Wireshark,选择
wlan0mon开始抓包,应该就能看到数据了。 - 如果还是刷不出列表:那才需要考虑是否是 USB 接口接触不良,或者该版本的驱动与内核不兼容(虽然 RT5370 通常很稳)。
- 如果能刷出列表:说明监听模式成功了!这时候再去打开 Wireshark,选择
总结:驱动没问题,执行 airmon-ng check kill 清理一下环境即可。

步骤四:
在Wireshark中使用显示过滤器查看MAC层帧。
在上图所示界面中过滤器框中如下图所示的过滤表达式,按回车后,使网络报文列 表区只显示信标帧,并查看指定无线路由器的信道。
wlan.fc.subtype==8 &&wlan.fc.type==0

在上图所示界面中过滤器框中如下图所示的过滤表达式,按回车后,使网络报文列 表区只显示关联请求帧(需要较长时间才能抓紧它),并查看该帧的发送者和接收者MAC 地址。

过滤器框中如下图所示的过滤表达式,按回车后,使网络报文列表区只显示关联响应帧(需要较长时间才能抓紧它),并查看该帧的发送者和接收者 MAC 地址。

过滤器框中如下图所示的过滤表达式,按回车后,使网络报文列表区只显示授权帧 (需要较长时间才能抓紧它),并查看该帧的发送者和接收者 MAC 地址。

步骤五:
在Wireshark中使用显示过滤器查看应用层协议包。
过滤器框中如下图所示的过滤表达式,按回车后,网络报文列表区只显示 HTTP 相关的数据包。
http

在数据包细节窗口查看该HTTP协议包的相关信息,重点查看IP层的源地址和目标 地址,TCP 层的源端口和目标端口,HTTP层的Host域等信息。(可对敏感信息显示部分进行处理)
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)