关键词:网站、APP、数据交互、流程分析

1、分析过程

1.1、分析维度

交互分析重点:资源分布、访问调度、重要接口、用户信息、质量上报。
问题处理流程:发现异常、问题复现、分段分界、问题定位、优化处理。

1.2、关键接口与资源加载方式分析方式

1.3、资源分布与用户访问流向统计

目的:APP资源分布位置与用户访问流量的方向
特征:DNS解析记录中包含有cdn或明显资源标识(例如img、mp3等)的域名及其指向的内容源。

以“今日头条APP”为例:
其中域名“*tt.bytecdn.cn”为“字节跳动CDN”的域名,其中资源基本上为页面图片图标,其解析地址部分在四川移动,有部分解析到了重庆移动。

其中域名“*.pstatp.com”与“ *.swcdn-tos.pstatp.com”为今日头条的资源下载域名,其中大部分域名解析首地址归属为四川移动,有部分解析至其他省份。

DNS解析记录:

统计域名归属:

1.4、重要接口与数据交互分析

目的:APP中主要的接口,即关键域名及其相关的URL构造规则。
特征:有明显具有相关特征(例如资源信息、用户信息等)返回值,或资源加载相关信息的请求。
重要接口类型分析:

(1)用户登录接口:

用户登录过程,包括请求发起、鉴权、基础信息加载等。由于网络安全需要,通常为加密内容,甚至拒绝HTTPS代理方式登录。

(2)域名解析方式(DNS接口):

一般APP的域名解析方式为标准DNS协议,大部分APP采用标准DNS协议与HttpDNS协议相结合的方式进行域名解析,其中HttpDNS的构成由厂商自行定义,格式各异。通常特征为其中包含域名与IP的映射关系。

(3)资源调度接口(或资源信息接口):

APP中资源列表及其中资源信息或页面所显示的内容的信息。其中包含用户请求的加载方式和数据交互过程中的中间件数据层信息。可通过该接口调取APP中对应的资源信息(例如歌曲或视频的列表)。

(4)资源加载接口:

资源加载请求的构造方式以及资源请求列表。通常包含资源 特征(例如img、mp4等),或URL域名部分包含IP地址。用户对此类URL发起访问来下载资源。

(5)用户信息与事件上报接口:

用户信息(账号、手机号码、IMEI号码、IP地址等)与用户请求的关联方式,用户访问、视频播放、资源下载等事件的信息上报(一般在URL中包含有相关字段信息或ID)。

1.4.1、APP用户登录接口

用户登录方式:通常APP将支持多种登录方式。

(1)账号密码登录

此为较常规的客户端登录方式,采用此类登录方式的用户整逐步减少。用户发起登录请求,调用相关页面与鉴权接口,上传相关信息。此过程中密码信息需进行加密处理。

(2)短信验证码登录

此为目前比较常用的登录方式。用户发起登录流程,上传手机号码验证其准确性后,客户端将调用短信验证服务(包含自主验证或采用三方服务方式),验证成功则加载用户信息。

(3)三方账号代登录

较为常见的代登录方式支持包括:微信、QQ、微博等账号的代登录。

此类登录过程通常为由代登录服务提供方提供专有代登录API接口,APP通过申请获得对应的APPID,当客户端发起登录请求时,首先拉起本机上的相关应用(部分服务不需要再本机安装对应APP,则无需此过程),获取授权码(code),客户端将授权码与本应用在服务提供方的注册APPID发送至代登录认证服务端,然后通过多次的鉴权交互过程,获得登录认证。

根据APP设定不同,登录成功后进行不同的设定,例如部分APP在鉴权成功后直接授权用户访问,不在进行其他操作;部分APP则将代登录授权信息与自有数据库中用户信息绑定(若无账号则强制用户注册),后切换为自有注册账号进行应用操作。

1.4.2、APP资源信息接口示例

以电商APP为例,在页面所显示的信息加载过程中,服务端将通过Json等方式向客户端传送商品相关列表信息,客户端通过该列表中的商品基础信息在页面显示,当用户需要进一步获取相关信息时,可通过该列表中的唯一标识(例如商品ID),构造URL,访问详细信息。

以“苏宁易购APP”为例:

1.4.3、APP资源加载接口示例

目的:资源加载或调度方式与接口(商品详细信息页面加载)。

特征:包含有资源信息、URL或资源URL的构造方式。例如构造URL所需的关键字段信息等。根据APP实现的逻辑结构不同,资源信息列表与资源加载调度接口可能我同一过程,也可能分为多个步骤。

以“苏宁易购APP”为例:

(1)如示例:当用户触发资源请求时,以商品ID等信息为参数,根据固有规则形成URL,用以加载相关信息页面。

(2)对于图片视频等资源,根据APP的用途不同,加载方式存在较大差异,例如此示例中APP为电商类,其中视频和图片皆为辅助内容显示作用,其URL均根据以固定方式将URL写在相关请求的返回值中。

1.4.4、APP资源加载接口示例2

目的:资源加载或调度方式与接口(视频或图片信息加载)。

特征:包含有资源信息、URL或资源URL的构造方式。例如构造URL所需的关键字段信息等。根据APP实现的逻辑结构不同,资源信息列表与资源加载调度接口可能我同一过程,也可能分为多个步骤。

以电商类APP“苏宁易购”为例:
通过商品信息请求的返回值中返回的信息指定URL。

加载获得相关的图片或视频信息:

1.4.5、APP用户信息、质量信息、事件上报接口示例

应用客户端通常会通过某些特定接口对客户端的质量信息、用户信息、用户操作事件等内容进行回传,用以作为质量分析或用户行为分析的依据。
示例:“QQ音乐APP”调用内置浏览器的性能测试接口进行诊断测速:

其中上传内容包括:用户位置信息、用户IP地址、本地DNS节点IP、客户端操作系统、网速等。

1.5、 不同环境下的差异分析

2、案例

(1)目标:

获取咪咕阅读APP资源列表与用户请求调度过程(部分)

(2)问题解析:

即需要分析用户是通过什么流程从打开APP一步一步到阅读书籍内容。该过程中经过哪些步骤,这些步骤中涉及到哪些数据交互,其中可以为我所用的信息有哪些(例如页面构成,调度信息(告诉客户端下一步该怎么做)、书籍列表(可以统计相关内容作为资源库)、书籍请求链接(可以用来统计用户行为或阅读偏好))。

(3)通常APP数据交互过程:

用户从打开APP(过程略)→选择进入数据分类页面(该页面信息如何加载) →选择一类图书(用户如何进入分类页面) →选择一本图书(用户如何进入该图书的信息详情) →开始阅读(用户如何从信息详情跳转进入数据内容)。

(4)交互分析:

清空手机缓存,打开页面执行加载,抓取过程中的数据包。注意抓包范围不宜过大(页面加载之前开始,到加载完成停止),不宜太长,以免请求过多难以区分有用信息。

根据码流内容逐一寻找有用信息,排除图片等请求(URL中带有jpg等字样的内容),注意jsp类文件。打开相关包(Fllow HTTP Strem),查看其中内容。(wireshark中蓝红色字体为请求、蓝色字体为响应)。

根据数据交互过程层层向下,梳理数据交互流程,分析每步URL的构造方式和文件位置。

1、书籍分类信息。
2、该类型中书籍列表:该列表中至少应包含书籍名称或ID等重要信息。
3、数据详情页面:该页面中包含有大量书籍相关属性信息。

一般此类按照类型层层向下钻去的请求中,每一层级的链接通常是以其ID作为参数,根据固定的规则构造URL。

通常越接近底层的信息列表中包含有越多的信息。

一般资源加载过程为通过其ID来进行资源获取。即资源获取请求可能为固定格式的URL,以不同的资源ID作为参数。

资源中带有的属性或页面的功能越多,页面越复杂重要信息越难以发现。需剔除其页面样式等无关内容的信息。

(5)APP分析报告资源调度信息:

3、备注

1、分析过程中,部分质量问题定界需关注底层通信协议,其他分析主要注意其信息的交互过程。
2、由于各ICP的安全防护质量不一方法各异,需采用多种工具多种方式结合分析;有部分应用安全级别较高(例如腾讯旗下应用安全等级较高),采用公共的代理方式抓包工具可能无法解析。
3、根据实际需求,从不同的角度和思路分析解决问题。重点关注资源调度和用户信息与其行为的关联。
4、不同类型APP由于其功能和逻辑结构不同,其数据交互方式存在差异;同类APP由于功能类似,可以相互印证参考。
5、由于HTTPS协议加密,部分内容无法解析,可通过网页端的应用,利用同一应用中某些内容的共通性,用浏览器内置调试工具对分析内容进行验证。
6、本文所有案例均来自多年之前,现已无法用于实际分析。上述方案仅供技术交流,请勿随意尝试解析他人网页或APP。

Yunxi.D
2020/0410

网站与APP抓包分析2 分析方法案例相关推荐

  1. 网站与APP抓包分析1 基础原理与工具使用

    简介: 基于网络协议与相关工具对网站与APP应用数据交互流程进行分析. 关键词:TCP.HTTP.HTTPS.HTTPDNS.Chrome.tshark.Charles.fidder.VirtalXp ...

  2. 安卓模拟器BlueStacks+TCPdump对APP抓包分析

    2019独角兽企业重金招聘Python工程师标准>>> 安卓模拟器BlueStacks+TCPdump对APP抓包分析 博客分类: 抓包 最近要搞安卓APP抓包分析,在网上找了一些方 ...

  3. 阿里系App抓包分析(三)

    上一篇文章<阿里系App抓包分析(二)>简单介绍了Mtop的初始化,发现IMtopInitTask是主要用来处理Mtop的初始化的类,经过查看它有三个实现类: InnerMtopInitT ...

  4. 四、小程序|App抓包(四)-Tcpdump抓取手机数据包分析

    小程序|App抓包(四) Tcpdump抓取手机数据包分析 一.环境需求: 1.手机需要root 2.电脑上安装SDK(建议安装android studio)也可单独安装SDk也行 下载地址 : ht ...

  5. app抓包分析sign

    介绍:简单的app抓包分析sign 一:准备工具 jeb or jadx or gda and so on 首先抓包: 点击登录抓取包: 可以看见,这里直接抓到账户密码. 我们可以通过DDMS查看日志 ...

  6. 基于Inspeckage的安卓APP抓包逆向分析——以步道乐跑APP为例

    引言:本人最近稍微弄懂了inspeckage的用法,特在此以步道乐跑APP为例,较详细记录地记录APP抓包与简单的逆向分析过程,用于备忘与共同学习!另外,温馨提醒,本文图片较多,建议连接WiFi阅读! ...

  7. 网络编程_5(超时检测+UNIX域套接字+抓包工具+包头分析)

    一二章请点击:网络编程_1(网络基础+跨主机传输) 三四章请点击:网络编程_2(网络属性+UDP(UDP模型+广播组播)) 第五章请点击:网络编程_3(TCP) 第六章请点击:网络编程_4(IO模型) ...

  8. wireshark 抓 蓝牙数据_如何使用Wireshark对本机进行抓包、流量分析

    本文仅用于讨论网络安全技术,以保护信息安全为目的,请勿用于非法用途! 如何使用Wireshark对本机进行抓包.流量分析-1.jpg (102.32 KB, 下载次数: 0) 2020-2-4 11: ...

  9. 关于fi dd ler 手机抓包 网卡地址地址_终端抓包与日志分析方法

    作为工程师,检测应用是否有收发包常见的方法就是抓包.linux平台下可以通过tcpdump命令进行抓包,windows 和Mac 平台也有Wireshark工具,对于终端如何进行抓包与日志分析. 终端 ...

最新文章

  1. python set 排序_python set 排序_如何在Python中使用sorted()和sort()
  2. weblogic自带的jdk是在工程的包部署后编译使用
  3. 设计一个可扩展的用户登录系统
  4. 第三十七期:刷脸支付叫好不叫座,为啥消费者和商家都不愿用先进科技?
  5. 探索PCIe 3.0峰值性能,长江存储推新消费级固态硬盘致态TiPlus5000
  6. python如何和qt交互_Python 之Pyqt5操作交互处理,原来这么简单!
  7. 使用face-api和Tensorflow.js进行预训练的AI情绪检测
  8. Windows API 逐个逐个学(3)----Windows系统基本服务API GetSystemDirectory
  9. 开课吧课堂:finally如何使用?作用是什么?
  10. hibernate 框架学习笔记
  11. 基于Tensorflow框架的人脸活体检测、人脸属性总结附代码(持续更新)
  12. 运单状态机设计及全流程异常跟踪整体架构
  13. 论文《Contrastive Learning for Sequential Recommendation》
  14. Linux用户与权限系统
  15. IMX6ULL裸机开发之点亮LED灯
  16. 国内外技术论坛的区别
  17. cookie注入原理详解
  18. 创龙Xilinx Zynq-7000系列SoC高性能处理器SATA接口
  19. 31、SpringBoot(1)
  20. 全球最大同性交友平台的“黑历史”

热门文章

  1. Linux——nohup命令使用(weblogic启动命令)
  2. 计算机网络应用技术论文,计算机网络应用技术论文(2)
  3. ios删除字符串第一位_iOS字符串操作总结
  4. 100种思维模型之前景理论思维模型-80
  5. 手把手教学——记录在Winxp虚拟机上安装Vxworks操作系统及其编译器Tornado的详细过程(1——WinXP操作系统)
  6. 2018宁夏邀请赛网赛 G.Trouble of Tyrant(单调栈)
  7. 延长法定退休年龄到65岁 六成网友不同意
  8. 扬帆牧哲:怎样开网店创业?
  9. Luminar 3.1.3.4280 图像后期编辑软件
  10. 调侃《HeadFirst设计模式》之工厂模式(一)