如何用wireshark捕获802.11数据包

强调,本人的系统是win10,并此基础上建立了linux虚拟机。

首先要在linux里编辑环境,因为在win中是捕获不到802.11的包的, 我用的工具是 wireshark,

sudo apt-get install wireshark

sudo apt-get install wireshark-gtk

如果在安装过程中出现

 

我只能说虚拟机重装一个吧,这个出问题了,我现在用的是ubuntu 16.0.2 (64),现在的虚拟机都比较新,重装后基本不会出现问题了。

查询网卡状态

输入:iwconfig

重点强调一下:捕获802.11帧需要设置网卡为监控模式(即monitor mode,非混杂模式),但是构建的虚拟机里显示的如上两个网卡都是虚拟机内设的,都不可以设置为监控模式(但是可以设置为混杂模式),所以需要将本地win10中的网卡连接到虚拟机中

其实在虚拟机刚开启的时候你可能会看到这样的弹窗,如下:

上图完全可以说明,想要捕获802.11的帧必须将主机无线网卡连接到虚拟机。

再将它连接到主机的时候我们先检查一下,虚拟机服务有没有开启,返回主机:我的电脑-右击-管理-服务,找到以下几项并开启

先确定电脑主机已经安装了无线网卡,如果没有则用驱动软件安装一个。

然后回到linux选择:虚拟机-可移动设备-Ralink 802.11n USBWireless LAN Card-连接,此时将网卡转到了虚拟机,等不用的时候可以在断开,就自动又转回到主机了。

这时在输入命令

iwconfig

结果:

lo       no wireless extensions.

wlx64fb816ae233  IEEE 802.11  ESSID:off/any 
          Mode:Managed  Access Point: Not-Associated   Tx-Power=0 dBm  
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:on
         
ens33     no wireless extensions.

其中 为网卡的名字(叫什么并不重要,可能是别的名字)

执行如下命令:

sudo iw dev wlx64fb816ae233  interface add mon0 type monitor //设置虚拟网卡mon0为监控模式

sudo ifconfig mon0 up//开启网卡

sudo wireshark-gtk
之后进入wireshark界面,选择mon0接口就可以进行捕包

 

谢谢!