Fiddler对安卓模拟器里的APP抓包(步骤详细,各种抓包工具总结)

转自公众号  : Hacking黑白红

0x00  常用抓包工具特点

     常用的抓包工具有fiddler、wireshark、httpwatch、 firebug、F12/等。抓包抓的是协议,fiddler抓的是HTTP、HTTPS协议,wireshark抓的是其他协议。fiddler、wireshark可以修改接口的参数和返回值,常用的F12调试工具只可以查看接口的参数和响应值。

  • fiddler最适合,在APP测试的时候抓包;

  • wireshare适合对整个流量进行抓取;

  • burpsuite最大的特点是抓包改包

0x01  Fiddler原理

     Fiddler是以代理WEB服务器的形式工作的,浏览器与服务器之间通过建立TCP连接以HTTP协议进行通信,浏览器默认通过自己发送HTTP请求到服务器,它使用代理地址:127.0.0.1, 端口:8888. 当Fiddler开启会自动设置代理, 退出的时候它会自动注销代理,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler.

图片

图片

0X02 安装应用

1.下载最新版Fiddler,强烈建议在官网下载:https://www.telerik.com/download/fiddler

图片

2. 正常傻瓜式安装,

下一步,下一步,安装完毕后,先不用急于打开软件。

3.下载并安装Fiddler证书生成器:

http://www.telerik.com/docs/default-source/fiddler/addons/fiddlercertmaker.exe?sfvrsn=2

4.打开Fiddler进行设置

点击工具栏中的Tools—>Options

图片

 5、点击HTTPS,勾选Decrypt HTTPS traffic和Ignore server certificate(unsafe)

图片

 6、点击Actions,点击Export Root Certificate to Desktop 

图片

 【注】此时电脑上会生成 一个证书

图片

7、https设置及connections设置,勾选选择项

图片

图片

 8、安装雷电模拟器  https://www.ldmnq.com/

图片

9、安装好后,桌面双击打开雷电模拟器,点击设置

图片

 10、安装好后,桌面双击打开雷电模拟器,点击设置

图片

 11、选择网络设置,勾选桥接模式,点击安装驱动,点击确定,点击保存设置

图片

图片

图片

 12、打开模拟器,设置代理。找到系统应用,点击设置,点击无线网络WLAN—>左键常按点击已连接网络—>修改网络

图片

图片

图片

图片

图片

图片

图片

图片

13、将步骤6导出的证书FiddlerRoot.cer文件导入至模拟器

图片

图片

图片

图片

图片

图片

 点击完成导入

图片

14、在模拟器中打开系统应用—>设置—>安全—>从SD卡安装。找到FiddlerRoot.cer文件,按提示导入即可,注意在此过程需要名称和解锁图案等,自行即可

设置-安全-为证书命名

图片

图片

图片

图片

图片

或者另一种方法安装证书:

在雷电模拟器里打开浏览器,访问刚才设置的本机IP加端口,便可自动下载证书进行安装

流程如下

手机端(客户端)设置

保证Fiddler和手机在同一局域网下,设置手机代理服务器地址为Fiddler服务器地址即可。

图片

设置代理服务器

当使用https协议时,需要下载证书(根据需要)

在手机浏览器访问Fiddler服务器---下载证书---安装证书(设置→安全→凭据存储→从sd卡安装)

图片

下载证书

15、打开fiddler,重启模拟器,输入设置的密码,按回车键,打开需要抓包的APP,就可以在电脑上进行APP抓包了

图片

常用图标含义 

图片

### 使用Fiddler对Android模拟器中运行的应用程序进行抓包 #### 配置Fiddler以捕获HTTPS流量 为了能够成功拦截并查看来自Android模拟器的网络请求,需确保Fiddler已准备好处理这些数据流。这涉及到允许其捕捉HTTPS通信以及安装必要的根证书来解密加密的数据传输。 对于此目的,在Fiddler界面内应执行如下操作:点击右上方位置处的选项菜单,进入`HTTPS`标签页之后选中`Capture HTTPS traffic`复选框,并按下`Trust root certificate`按钮完成信任设置[^2]。 #### 设置Windows系统的代理服务器 为了让Android模拟器能识别到由Fiddler创建的本地代理服务端口,默认情况下通常是8888,需要调整计算机上的Internet连接属性以便让所有HTTP(S)请求都经由此路径转发给Fiddler分析工具。具体做法是在控制面板的网络和共享中心更改LAN参数下的代理服务器配置[^1]。 #### 修改Android模拟器环境变量 针对特定版本如基于安卓7.0及以上构建而成的虚拟设备而言,则要额外设定一些系统级别的环境变量使得它们知晓外部存在这样一个中间件用于监控进出本机的所有互联网活动。通常来说就是向命令行输入类似下面这样的指令: ```bash adb shell settings put global http_proxy <host>:<port> ``` 这的`<host>`应当填写宿主机IP地址而`<port>`则对应于之前提到过的默认值即8888;当然如果实际使用的并非标准情况,请替换为相应数值。 #### 安装CA证书至模拟器内部存储空间 由于启用了SSL/TLS协议层面的安全措施,所以还有一项重要工作就是在目标平台上导入由Fiddler自动生成的一份权威机构签发的信任凭证文件——DO_NOT_TRUST_FiddlerRoot.crt。可以通过拖拽方式将其传送到AVD(Android Virtual Device)之中再按照提示一步步确认直至最终生效为止。 #### 测试验证过程是否顺利达成预期效果 最后一步便是实践检验整个流程的有效性了。启动任意一款具备联网特性的第三方软件客户端尝试发起GET/POST之类的常规动作看看能否正常显示详细的交互记录列表出来供后续审查之用。比如可以直接采用内置Webkit渲染引擎驱动的传统型浏览组件加载指定URL链接作为简易测试案例。
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值