matlab获取选中的点_802.11数据包分析4:Matlab读取WiFi抓包结果(Pcap2Matlab)

db54cdb499e4ab7fbddbbc6808b53485.png

序言

Matlab是常用的数据分析平台之一,本文我们介绍用Matlab来读取802.11的抓包文件(即Pcap)文件,并抽取其中的几个元素。将这些元素提取入Matlab后,我们才可以进一步扩展一些应用,比如说对数据应用一些机器学习算法之类。

Pcap2Matlab安装

首先我们要安装一个插件-Pcap2Matlab,该插件可以让Matlab读取Pcap的内容。有两种安装方法:

  1. 直接从Github上面下载:Pcap2Matlab
  2. 从Matlab的菜单栏→附加功能→获取附加功能→里面搜索Pcap2Matlab,然后安装也可以

365251de39c5dbae000a24485d602740.png

安装完成之后,由于这个插件是基于tShake的,所以我们需要在其的目录下补充一些文件才可以使用。补充的文件是为了让tShake可以独立在Pcap2Matlab的文件夹下工作,但是不同版本Wireshark里面的dll文件不同,建议一个简单办法,就是把wireshark下面所有的dll都复制到Pcap2Matlab的文件夹下面,以及tshark.exe。

Remark:Wireshark不建议版本太新。

Pcap2Matlab的使用

首先是在下载Pcap2Matlab的文件下内有一个pcap2matlab_example.m,先运行这个看环境有没有配置正确,运行获得下面的图就是配置成功了

6c661ed32d5e0c3a872282e023219b06.png

我们可以简单看下这个example程序的前28行

function

其实简化以下就4行左右

read_file        = 'xxxxx.pcap';
wifi_dissector   = {'frame.number', .....);
read_filter      = 'wlan';
pcap_result      = pcap2matlab(read_filter, wifi_dissector, read_file);

这里实际上要设置的就是readfile文件,然后过滤器类型read_filter,这个过滤器类型实际上是tshake -Y的内容,为了读取802.11的数据帧,我们设置成read_filter='wlan',然后最后一个就是wifi_dissector,实际上是参数提取器,这里需要对wireshake解析的字段名有所了解,然后一个个填上去。

wifi_dissector字段名的获取

综上,整个读取pcap的架构已经有了,最后一步比较困难的就是知道属性的名字就行了。笔者花了不少时间探索方法,最终总结了下面这个方式应该是最简单的:

  • 第一步,用wireshark打开我们所需要解析的pcap文件,选取一帧数据帧
  • 第二步,鼠标选取某一个具体的属性,比如说选区PHY Type这个属性,选取后该行会被标注
  • 第三步,右键这一行属性,选择作为筛选器应用→选中

248f2f300d57ccdcbc294488d36337b2.png
  • 第四步,此时在上面的筛选属性显示这一行,就会显示我们所选属性对应的dissector名字了

1cfda9a6010872820dbc14380b53a492.png
  • 第五步,在matlab中设置对应的dissector即可

6080b70086a25855cadd53efeb7f5c63.png

本文为原创文章,如需转载须注明出处和原文链接。

1498463e42325ec0466c04630f0904c2.png

欢迎大家关注我们的微信公众号:无线技术大讲堂,请搜索公众号(must_wireless)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值