需求分析
无论对于开发或者测试人员,了解自家应用在实际使用场景中调用了哪些接口是十分必要的。一来可以观察是否有异常调用,例如重复访问。二来可以分析各接口访问频次,为服务端架构提供参考数据,也可以为应用网络优化提供线索。
本篇文章就是站在宏观角度,利用Wireshark统计分析应用的接口访问情况。并导出数据报告。
需要提示的是,统计结果可能因使用场景不同产生较大误差,但统计结果会随着统计样本的扩大而逐渐趋近于实际值。
环境
操作系统:Window 10
抓包工具:Wireshark Version 2.4.3
测试APP: 网易云音乐 Android客户端 V5.3.1
测试场景:使用APP五分钟,随机访问。尽量覆盖多数页面。
实现步骤
第一步 初始化抓包环境
打开Wireshark, 启动APP,确认Wireshark请求列表内有手机请求流水。
第二步 模拟用户使用场景
模拟实际用户使用场景体验APP五分钟。要随机访问,不要刻意访问某一页面或者点击某一按钮。
第三步 域名过滤
确认APP主要使用了哪些域名。通过Wireshark观察分析网易云音乐主要使用的域名有:
1. *.126.net
2. *.netease.com
3. *.163.com
因此我们就统计分析网易云音乐对这三个域名的访问情况。
第四步 统计数据
Wireshark按照 统计→Http→请求 路径进入请求统计页面:
可以看出该页面列出了所有的HTTP请求,包括*baidu.com等。接下来需要我们编写过滤条件以筛选出我们需要的请求。
编写如下过滤条件: http.host contains "163" || http.host contains "126" || http.host contains "netease"
可以过滤出网易云音乐的三个主要请求域名。
过滤后的统计数据如下:
可以看出体验网易云音乐五分钟后,共发出876次HTTP请求。访问次数前三的域名有:
1. p1.music.126.net 525次
2. vodkgeyttp8.vod.126.net 164次
3. p3.music.126.net 32次
选择右下角的另存为可以以文件的形式保存统计数据。一般选择.csv格式,可以方便的通过Excel查看更详细的请求数据:
不足之处
随意点击可能与实际使用场景不符,导致数据出现较大偏差。