wireshark会把网卡变为混杂模式

本文介绍了一般情况下网卡的工作模式及其在使用Wireshark进行抓包时的状态变化。通常网卡处于正常模式,仅过滤自身MAC地址的数据包;而使用Wireshark时则会切换到混杂模式,此时能够捕获所有经过的数据包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一般情况下,网卡是工作在正常模式下,会只过滤自己mac的包。

当使用wireshark抓包时,会把网卡变为混杂模式,这时所有的mac包都被抓上来。

<think>我们被要求详细说明如何使用Wireshark抓取WiFi四次握手过程。四次握手是WPA/WPA2加密连接建立过程中的关键步骤,用于协商临时密钥。以下是详细步骤:###步骤1:准备工作1.**硬件要求**:-支持监听模式(MonitorMode)的无线网卡。常见支持芯片组:AtherosAR9271、RTL8812AU等。-安装对应网卡驱动(如Linux下`ath9k_htc`驱动)。2.**软件环境**:-Wireshark(≥2.6版本)-数据包捕获工具:`aircrack-ng`套件(用于设置监听模式)###步骤2:启用网卡监听模式在Linux终端执行:```bash#关闭可能干扰的进程sudoairmon-ngcheckkill#启用监听模式(假设网卡名为wlan0)sudoairmon-ngstartwlan0```监听模式接口通常重命名为`wlan0mon`(可通过`iwconfig`确认)。###步骤3:启动Wireshark捕获1.打开Wireshark,选择监听接口(如`wlan0mon`)。2.**关键过滤设置**:-在捕获选项中勾选"混杂模式"(PromiscuousMode)。-捕获过滤器输入:`etherproto0x888e`(仅捕获EAPOL帧,即四次握手数据包)[^1]。###步骤4:触发四次握手-方法1:主动断开设备与AP的连接,然后重新连接。-方法2:在终端发送解除认证包强制重连:```bashsudoaireplay-ng-01-a<AP_MAC>-c<Device_MAC>wlan0mon```其中`<AP_MAC>`为路由器MAC,`<Device_MAC>`为目标设备MAC。###步骤5:识别四次握手包捕获到的四次握手包特征:1.**EAPOL协议**:帧类型为802.1XAuthentication。2.**消息序号**:-消息1:AP→设备,携带ANonce-消息2:设备→AP,携带SNonce和MIC-消息3:AP→设备,携带GTK和MIC-消息4:设备→AP,确认安装密钥在Wireshark中可通过过滤器`eapol`快速定位,并检查PacketDetails中的`KeyDescriptorType`字段值为`PTK`[^2]。###步骤6:验证抓包结果成功抓取后,Wireshark会标记四次握手包:```No.TimeSourceDestinationProtocolInfo10.000000AP_MACDEVICE_MACEAPOLMessage1of420.002500DEVICE_MACAP_MACEAPOLMessage2of430.004800AP_MACDEVICE_MACEAPOLMessage3of440.006200DEVICE_MACAP_MACEAPOLMessage4of4```###故障排除-**抓不到握手包**:-确认监听模式已启用(`iwconfigwlan0monmodeMonitor`)-检查AP加密方式为WPA/WPA2-PSK(WPA3使用不同握手机制)-关闭设备MAC地址随机化功能(手机/电脑设置)-**抓包不完整**:调整Wireshark缓冲区大小:Edit→Preferences→Capture→DefaultCaptureBufferSize设为256MB。---§§相关问题§§1.如何用Wireshark解密已捕获的WPA2加密流量?2.WPA3的SAE握手过程与WPA2四次握手有何区别?3.无线网卡监听模式在Windows系统下如何启用?[^1]:EAPOL协议定义详见IEEE802.1X-2010标准第11章。[^2]:Wireshark官方文档:https://wiki.wireshark.org/EAPOL</think>### 如何使用 Wireshark 抓取 WiFi 四次握手过程 #### 准备工作 1. **硬件要求**: - 支持监听模式(Monitor Mode)的无线网卡(推荐芯片:Atheros AR9271, RTL8812AU) - 安装网卡驱动(Linux 推荐 `ath9k_htc` 驱动) 2. **软件安装**: ```bash # Ubuntu/Debian sudo apt install wireshark aircrack-ng ``` Windows 用户需安装 [WinPcap](https://www.winpcap.org/) 驱动 #### 详细步骤 ##### 步骤 1:启用监听模式 ```bash # 查看网卡名称(通常为 wlan0) iwconfig # 启用监听模式 sudo airmon-ng start wlan0 # 确认新接口(通常变为 wlan0mon) iwconfig ``` ##### 步骤 2:配置 Wireshark 1. 启动 Wireshark:`sudo wireshark` 2. 选择监听接口(如 `wlan0mon`) 3. **关键设置**: - 勾选 "Monitor Mode" - 捕获过滤器输入:`ether proto 0x888e`(仅捕获 EAPOL 握手包)[^1] ```bash # 验证过滤器语法 tshark -i wlan0mon -f "ether proto 0x888e" ``` ##### 步骤 3:触发四次握手 1. **主动断开连接**: ```bash # 发送解除认证包(需 AP MAC 和客户端 MAC) sudo aireplay-ng -0 1 -a <AP_MAC> -c <CLIENT_MAC> wlan0mon ``` 2. **被动等待**: - 手动断开设备 WiFi 后重连 - 重启路由器 ##### 步骤 4:识别握手包 捕获到的四次握手特征: 1. **消息 1**:AP → Client,携带 ANonce - 过滤器:`eapol.type == 1` 2. **消息 2**:Client → AP,携带 SNonce + MIC - 过滤器:`eapol.type == 2` 3. **消息 3**:AP → Client,携带 GTK + MIC - 过滤器:`eapol.type == 3` 4. **消息 4**:Client → AP,确认安装密钥 - 过滤器:`eapol.type == 4` > **验证成功**:Wireshark 状态栏显示 `IEEE 802.11 EAPOL Key` 且包含 4 个连续帧 #### 高级技巧 1. **解密流量**: - 在 Wireshark 中:`Edit > Preferences > Protocols > IEEE 802.11` - 勾选 "Enable decryption",输入 WiFi 密码 - 可查看解密后的 TCP/IP 流量[^2] 2. **保存关键数据**: ```bash # 仅保存握手包 tshark -i wlan0mon -Y "eapol" -w handshake.pcapng ``` #### 故障排除 - **抓不到包**: 1. 检查网卡监听模式:`iwconfig wlan0mon | grep Mode` 2. 关闭 MAC 地址随机化(手机/电脑设置) 3. 尝试 2.4GHz 频段(5GHz DFS 信道可能受限) - **包不完整**: ```bash # 增大捕获缓冲区 sudo sysctl -w net.core.wmem_max=1048576 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值