Omnipeek软件的使用以及使用omnipeek分析data rate的问题

抓包流程

使用Omnipeek软件分析网络数据包的流程大概可以分为以下几个步骤:
1. 扫描路由器信息,确定抓包信道;
2. 设置连接路由器的SSID和密码,用来数据解密,路由器无密码时跳过;
3. 设置需要抓包的设备的MAC地址过滤;
4. 抓取设备的联网过程,获取报文加密的KEY,路由器无密码时跳过;
5. 开始抓包,Omnipeek会根据路由器的SSID、密码和KEY自动解密报文;
6. 明文数据包分析。

设置信道


设置加密的信息

使用空口抓包时,如果路由器设置有密码,那么抓到的802.11数据包都是加密的报文,无法查看数据内容和详细信息。如果路由器设置无密码,可以跳过此步骤。
设置路由器SSID和密码流程如下:

设置MAC地址过滤器

这里推荐使用MAC地址过滤,因为带有密码的路由器需要对数据包解密,要抓下整个联网过程,获取解密的Key,无法使用其它过滤器模式。
配置流程如下:

抓取联网过程

按照以上流程配置好,设置开始抓包后,操作设备重新联网(很重要!),这个流程必须要执行,否则无法获取到解密用的key,无法对加密数据包解密。
如下图所示,wifi的连接过程:扫描、认证、获取IP等信息,设备联网成功。

设备联网成功后,可以查看Edit Key Set界面中Key值已经自动填充了,说明抓取到了解密的Key。接下来就可以随心所欲的抓包了,并且Omnipeek会自动根据Key来对数据包进行解密,是不是so easy!

利用sniffer分析data rate

11n 20M带宽时,屏蔽房中,tx/rx大多数都是72.2Mbps。有些效果不好的屏蔽房有时会掉到65Mbps。但是发现时58.5Mbps,52Mbps这样的data rate,就说明硬件tx/rx有问题。11n 40M带宽时也一样。

降速从sniffer看就是大量的tx包没有被确认。可以从BA包看出来。下图tx了17个包,sequence number从3851到3867.可以看到后面发送方重传了3864,3865,3866,然后才接着传3868的。

当发现硬件问题时,先多测几台机器测试,看是否是单机问题。需要用出问题的手机,请硬件做如下的测试:
– Tx power
– Tx evm
– Rx 灵敏度
说明:
– 是要做非信令模式下的测试
– 要说明好data rate 和 channel
– 比如说请帮助测试非信令模式下65Mbps@channel 6的tx power

这时候需要对照着kernel log和mtk log(高通的host driverlog)来看是什么原因?(是不是有很多的扫描触发)
比如MTK平台:
如果看到下面的log有很多scan

[13] TRAMSITION:[10] -> [3]
或者
[19] TRANSITION:[0] -> [1]

如果看不出来是什么触发的扫描,可以将mtk log以及kernel log传给mtk看一下。

比较packet图和data rate 图

看是否是发的包少?还是data rate选的不对?

如果是data rate不一致可以固定data rate测试:

如果packet数不一致,这可能与省电,手机rx buffer,支持的feature不一样。到这里可以把我们分析的结果和log一起发给mtk。
MTK平台log: mtklog,net log, sniffer log
qcom平台log: logcat,sniffer,wlan_logs/

分享实例

在屏蔽房中测试吞吐量发现周期性掉0
从log中可以看到大量的扫描

结合logcatlog,我们就可以知道scan cmd是由apk id为10016的ap发出来的。

我们卸载对应的apk就好了。
每一个apk都有一个UID,查看UID对应的APK方法:
Android中查看UID方法:adb pull /data/system/packages.list

剑气纵横三万里

“为什么要努力?” “想去的地方很远,想要的东西很贵,喜欢的人很优秀,父母的白发,朋友的约定,周围人的嘲笑,以及,天生傲骨。”

留下你的评论

*评论支持代码高亮<pre class="prettyprint linenums">代码</pre>

相关推荐

暂无内容!