美文网首页
手机APP的秘密,看的一清二楚!

手机APP的秘密,看的一清二楚!

作者: 安安_660c | 来源:发表于2022-03-22 15:13 被阅读0次

0x00 摘要

在逆向分析以及移动端开发的时候,总会需要对APP的网络行为进行监控测试,本文总结一些抓包思路,并对其使用方法进行实践

在抓包界,Wireshark 应该算是综合排名第一的工具(其实 Wireshark 自带的命令行工具 tshark 更牛逼)

本文总结记录了 5 种抓包方式,掌握其一即可进行实践,欢迎大家一起交流分享

0x01 基于 Wireshark

实验步骤:

1.1 在电脑主机上使用猎豹 Wifi之类的工具,开启热点,将所要测试的手机连接该热点,记录其IP地址

1.2 使用 Wireshark 对以上 IP 地址进行捕获

Capture——Options

1.3 总结

该方法简单粗暴高效,可以将捕获的数据包随时保存下来,便于后续分析或者进行 PCAP 可视化分析。

关于命令行工具 tshark 在此不做赘述,感兴趣的读者自行研究。

0x02 基于 tcpdump

实验环境:

下载安装 Genymotion 安卓虚拟机,在该模拟器环境种进行实践操作(基于实体手机亦然,前提是手机必须得 ROOT)

笔者仅在 Android 系统下测试,未在 iOS 系统下实验

实验步骤:

2.1 说明
模拟器中自带的 tcpdump 工具,位于:/system/xbin/ 目录下

2.2 数据包捕获
可以通过 adb shell 命令在 CMD 模式下连接模拟器,su 到 root 模式进行抓包

#!bash
tcpdump -vv -s 0 -i eth1 -w /sdcard/capture.pcap

参数说明:

  • vv:获取详细的包信息(注意是两个 v 不是 w)
  • s 0:不限数据包的长度,如果不加则只获取包头
  • w xxx.pcap:捕获数据包名称以及存储位置(本例中保存在 sdcard 路径下,数据包名为 capture.pcap)
  • i eth1:捕获制定的网卡(在 genymotion 虚拟机中,使用 busybox ifconfig 命令可以查看相关信息,一般 genymotion 的 ip 地址都为 10.xx.xx.x)
    如果你想指定捕获的数据包长度,可以使用 -c 参数(例如 -c 128) 捕获结束,直接按 Ctrl + C 即可

2.3 数据分析

将捕获到的数据包拖到本地使用 Wireshark 进行查看:

#!bash
adb pull /sdcard/capture.pcap C:\tmp

TIPS:将数据包文件 push 到手机上命令为

#!bash
adb push C:\tmp\capture.pcap /sdcard/

0x03 基于 Fiddler 4

实验步骤:

3.1 下载 FIddler 4

3.2 设置 Fiddler 4

打开Fiddler,Tools-> Fiddler Options (配置完成记得重启 Fiddler)

3.3 设置手机代理

首先,获取安装 Fiddler 4 的 PC 对应的 IP 地址(ipconfig):

确保手机和 PC 是连接在同一个局域网中!!!

下面对手机进行设置(笔者使用小米测试机):点击手机中“设置”——Wi-Fi——选择已经连接的wifi——代理设置改为手动

下载 Fiddler 的安全证书

使用手机浏览器访问:http://10.2.145.187:8888,点击"FiddlerRoot certificate",然后安装证书即可。

至此,已经全部设置完毕。

3.4 数据包捕获

重新打开 Fiddler 4,然后打开手机中的浏览器,访问任意网址,Fiddler 抓包信息如下:

Enjoy!

0x04 基于 Charles

实验环境:

win7 + Charles v3.11

一般使用 Charles 都是基于 MAC OS ,笔者在 mac 平台以及 windows 平台均试验过,操作过程和思路基本一致,因此,本文以 win7 为测试环境

实验步骤:

4.1 捕获 http 数据包

手机设置代理:

打开 Charles 即可捕获数据包(Proxy —— Proxy Settings):

4.2 捕获 https 数据包

手机端安装证书:

Android 手机或者 iPhone 均可直接访问 http://www.charlesproxy.com/ssl.zip ,然后根据图示点击证书安装

设置 Charles:

选择 Proxy —— SSL Proxying Settings —— Locations —— Add

在弹出的表单中填写 Host 域名(也就是你想要抓包链接的主机名),以及对应的 Port 端口(此处相当于过滤作用)

当然,你可以采用更加粗暴的方式:使用通配符,例如你想要捕获所有的 https 包,这里也可以直接都为空,表示捕获所有的主机和端口;或者都分别填“*”星号,匹配所有的字符,捕获所有的 https。

0x05 基于 Burpsuite

实验步骤:

5.1 捕获 http 数据包

PC 端 Burpsuite 设置:

手机端代理设置方法同以上 3.3 4.1

打开 Burpsuite 即可捕获 http 数据包:

5.2 捕获 https 数据包

手机端设置好代理之后,使用浏览器访问:http://burp/

21.png

此处存在一个问题:下载的证书是 der 格式的,我们手机端安装的是 crt 格式的,需要使用 firefox 浏览器转一下格式:可以首先在 Brupsuite 中导出 der 格式证书,然后导入火狐浏览器,然后从火狐浏览器导出证书格式为 crt

打开火狐浏览器:工具——选项——高级——证书——查看证书

成功捕获 https 数据包

0x06 总结

当我们停止捕获数据包时,将Fiddler 或 Charles 关闭,此时手机端是无法正常访问网络的,因为设置了代理,这时候需要将代理关闭,即可正常浏览网页

对于大多数走代理的应用可以选择 Fiddler 或 Charles,无需 root,一次配置,终身使用;对于不走代理的 App 可以利用 tcpdump 捕包,然后使用 Wireshark 查看;最简单便捷的便是第一种方法「0x01. 基于 Wireshark」

以上所有工具各有优劣,读者可以根据工作环境,按需使用,个人觉得一般情况下使用 Wireshark + Fiddler 或者 Wireshark + Charles 即可完成各平台的抓包分析任务

以上工具中只有BurpSuite可以对抓包过程进行交互式操作;Wireshark支持的协议最多,也更底层,功能强大,但过于沉重

对于本文涉及的相关工具的安装、设置、破解、详细使用,不在本文讨论范围之内(Charles 免费版其实还比较厚道,如果重度需要,建议购买正版),本文旨在浅析捕获移动终端数据包的方法和思路。

相关文章

  • 手机APP的秘密,看的一清二楚!

    0x00 摘要 在逆向分析以及移动端开发的时候,总会需要对APP的网络行为进行监控测试,本文总结一些抓包思路,并对...

  • 记忆深陷泥潭

    那些不是秘密 我却不想知道 可是却看的一清二楚 你笑的那样灿烂 我笑的那样绝望 2190天,6个春秋 所有的期待总...

  • 三种撸零花钱

    1. 手机看新闻赚钱 要你手机下载某款看新闻的APP,然后用APP软件看上面的新闻,就能获得一定的金...

  • 手机的秘密

    今天和大家分享。手机的秘密。 现在的智能手机有很多作用。比如可以设密码锁屏。大家可能会觉得,那只是对外。对家里人不...

  • 【深度思考之辩论2/200】手机是私密吗

    奇葩说第一季第二期:该不该看伴侣的手机 正方:该看伴侣的手机 反方:不该看伴侣的手机 正方观点: 亲人就是没有秘密...

  • 书香|| 手机里的“秘密”㊙️

    作者原创 2022.11.09 01. 她们都好奇我手机里的秘密 在家里: “妈,你最近老看手机呀?看的啥呀?”吃...

  • 来电狂响

    手机里面都藏着秘密,微信,支付宝,短信,电话,各种app ,现在人,没什么隐私可言。

  • 你还有隐私不,手机APP一清二楚

    智能手机刚开始盛行的时候,都是一些简单的手机APP完全没有参和一些高科技,太高科技,太科幻,太黑科技的东西。 现在...

  • 2019-03-03

    秘密 我是个自认为有很多秘密的人,我的手机从来都不拿给别人看。手机有解锁密码,每个软件还有各自独立的密码。其实但也...

  • 《秘密》第一章节笔记

    今天早上七点多醒来了,我就拿起手机打开微信读书App,开始看《秘密》这本书,一直想看,今早终于行动啦。今天看完了第...

网友评论

      本文标题:手机APP的秘密,看的一清二楚!

      本文链接:https://www.haomeiwen.com/subject/gqpfjrtx.html