802.11 wireshark 抓包

avatar
作者
筋斗云
阅读量:0

80211 wireshark 抓包

前言

本人习惯使用 Omnipeek 抓包分析,所以 wireshark 的实验只讲到抓包完成。
Windows 环境采用 wireshark 抓包是比较麻烦的,因为支持在 Windows 环境中支持抓包的网卡并不多,所以本次直接用 Linux 环境来做试验。
使用网卡为:RT3070L,70块钱一张的网卡。

配置 monitor

何为 monitor?顾名思义和监视有关,但是和有线网络监视不同,对有线网络监视抓包只需要运行 wireshark 选择一张网卡即可。无线网络的抓包稍微复杂一点,因为需要一张网卡作为 monitor 放置于要监视抓包的两张网卡之间,用 Linux 电脑连接 monitor 网卡,这样才能接收到要抓包的两张网卡的无线包。

其次是无线抓包的目标层,我们都知道 osi 把网络分为 7 层,各层协议分布情况如下:

  • L7应用层:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP
  • L6表示层:数据的表示、安全、压缩;JPEG、ASCll、EBCDIC、加密格式等。(在五层模型里面合并到应用层)
  • L5会话层:建立、管理、终止会话。对应主机进程,指本地主机与远程主机正在进行的会话。(在五层模型里面合并到应用层)
  • L4传输层:TCP UDP
  • L3网络层:ICMP IGMP IP(IPV4 IPV6)
  • L2数据链路层:建立逻辑连接、进行硬件地址寻址、差错校验等功能。将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。
  • L1物理层:设备之间非结构化原始数据的传输和接收

而无线网实际上是L2:数据链路层。所以 monitor 将会抓到的包也是链路层的数据包。

软件配置

先安装必要的软件(不同网卡实际需要的软件不完全相同)

sudo apt-get install tcpdump wireless-tools net-tools 

然后要将网卡配置成monitor模式:

$ sudo ifconfig wlan0 down                   #关闭网卡,才可以设置mode $ sudo iwconfig wlan0 mode monitor           #设置网卡为monitor模式 $ sudo ifconfig wlan0 up                     #开启网卡,让设置生效 

除了monitor模式外,无线网卡还可以设置成以下几种模式:

  • Monitor:节点不与任何AP关联,可以被动地捕获信道上所有的数据包。
  • Master:节点作为同步的主节点,简单而言,就是AP。该模式是默认的模式。
  • Repeater:节点负责中继无线节点间的数据包。
  • Secondary:节点可作为一个AP(也就是Master)或者Repeater的备份节点。
  • Managed:节点作为客户端能够向AP发起关联,通常也被称为client模式。
  • Ad-hoc:节点与节点间直接建立关联关系,并不存在AP。

查看无线网卡是否支持 monitor 模式:

$ sudo iwconfig lo        no wireless extensions.  enp8s0    no wireless extensions.  wlan0    IEEE 802.11  Mode:Monitor  Frequency:2.412 GHz  Tx-Power=14 dBm           Retry short limit:7   RTS thr:off   Fragment thr:off           Power Management:off 

查看&设置WiFi RF信道:

$ sudo iwlist wlan0 channel wlan0    13 channels in total; available frequencies :           Channel 01 : 2.412 GHz           Channel 02 : 2.417 GHz           Channel 03 : 2.422 GHz           Channel 04 : 2.427 GHz           Channel 05 : 2.432 GHz           Channel 06 : 2.437 GHz           Channel 07 : 2.442 GHz           Channel 08 : 2.447 GHz           Channel 09 : 2.452 GHz           Channel 10 : 2.457 GHz           Channel 11 : 2.462 GHz           Channel 12 : 2.467 GHz           Channel 13 : 2.472 GHz           Current Frequency:2.462 GHz (Channel 11)  #设置当前信道为6 $ sudo iwconfig wlan0 channel 6   $ sudo iwlist wlan0 channel wlan0    13 channels in total; available frequencies :           Channel 01 : 2.412 GHz           Channel 02 : 2.417 GHz           Channel 03 : 2.422 GHz           Channel 04 : 2.427 GHz           Channel 05 : 2.432 GHz           Channel 06 : 2.437 GHz           Channel 07 : 2.442 GHz           Channel 08 : 2.447 GHz           Channel 09 : 2.452 GHz           Channel 10 : 2.457 GHz           Channel 11 : 2.462 GHz           Channel 12 : 2.467 GHz           Channel 13 : 2.472 GHz           Current Frequency:2.437 GHz (Channel 6) 

也可以用 iw list 代替。
设置完成,启动 wireshark:

sudo wireshark 

wireshark 操作

在这里插入图片描述
点击“捕获”。
选择绑定了目标网卡的网口:wlan0,并开启混杂模式,此模式所有的无线帧都可以捕捉到。
在这里插入图片描述
随后点击开始,将陆续抓取环境中所有的无线数据包,不会局限于目标中的两张网卡。
在这里插入图片描述
注意:wireshark抓取的数据包都是固定信道的,所以要抓取特定信道的数据包的话,那么需要首先手动设定。
但是这样也有一个好处,可以抓目标信道的无线包。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!