继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

记一次通过tcpdump+wireshark方法分析apk

古__月
关注TA
已关注
手记 14
粉丝 19
获赞 45

1、TCP的几种状态:

  1. SYN:建立连接(Synchronize Sequence Numbers)

  2. FIN:关闭连接

  3. ACK:响应

  4. PSH:有data数据传输

  5. RST:连接重置


2、步骤:

  1. 找到内网中该apk所在的ip地址为192.168.1.59

  2. 通过tcpdump命令,启动tcpdump -i any host 192.168.1.59 -s 0 -w package.cap,将该ip地址的数据包保存在package.cap中

  3. 进入到该apk中,tcpdump命令会将数据包保存在package.cap中,将该文件导出,并使用wireshark打开。结果如下:

https://img1.mukewang.com/5bcd293c00016aea18450520.jpg


3、分析TCP通信流程:

如下图所示,根据wireshark分析出来的一共post请求共有如下6个过程,分别对应TCP通信的流程:

https://img2.mukewang.com/5bcd2e4f000101ec18790122.jpg

  1. 客户端向服务器发送TCP请求建立连接。标识为SYN。

  2. 服务器得到请求后向客户端回应确认包的过程。标识为SYN,ACK。

  3. 客户端回应服务器发送确认包的过程,将于服务器建立连接。标识为ACK。

  4. 客户端向服务器发送HTTP请求内容的过程。标识为POST。

  5. 服务器相应客户端请求的过程,收到请求。标识为ACK。

  6. 服务器向客户端回应内容的过程。


4、分析业务逻辑:

既然基本的理论已经知道了,接下来就开始分析其中的业务逻辑:其中调用的接口分别为如下几个接口:

  1. /api/portalCore/v2/active

  2. /api/portalCore/v3/getSlbInfo

  3. /api/portalCore/getColumnContents

  4. /api/portalCore/getRecommends

  5. /api/portalCore/getColumnContents

  6. /api/portalCore/getAuthInfo

当然,这些接口的数据都是被加密了的,不知道解密的方式的话,还是不知道其中具体什么信息的。暂时记录到此。












打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP