Fiddler、Charles抓取数据

2022-11-29 21:05:11 浏览数 (2)

Fiddler抓取数据

一、Fiddler简介

现在的移动应用程序几乎都会和网络打交道,所以在分析一个 app 的时候,如果可以抓取出其发出的数据包,将对分析程序的流程和逻辑有极大的帮助。对于HTTP包来说,已经有很多种分析的方法了,但是现在越来越多的应用已经使用HTTPS协议来和服务器端交换数据了,这无疑给抓包分析增加了难度。可是 Windows系统下的 Fiddler 可以用来解决这个问题。

下载神器Fiddler,下载链接:

http://fiddler2.com/get-fiddler

二、配置 Fiddler

参考:https://blog.csdn.net/jiangwei0910410003/article/details/19806999

在 Fiddler 中设置“允许远程连接”和“默认端口”

选择Tools菜单

勾选 “CaptureHTTPS CONNECTs”,接着勾选 “Decrypt HTTPS traffic” 。同时,由于我们是通过 WiFi 远程连过来,所以在下面的选项框中选择 “…fromremote clients only” 。

如果你要监听的程序访问的 HTTPS 站点使用的是不可信的证书,则请接着把下面的 “Ignore servercertificate errors” 勾选上。监听端口默认是 8888,你可以把它设置成任何你想要的端口。勾选上 “Allow remote computersto connect” 。

为了减少干扰,可以去掉 “Act assystem proxy on startup” 。

三、手机配置

首先查看电脑的 IP 地址,确保手机和电脑在同一个局域网内

Android 手机上的配置

将 Fiddler 代理服务器的证书导到手机上才能抓这些 APP 的包。导入的过程:打开浏览器,在地址栏中输入代理服务器的 IP 和端口,会看到一个Fiddler 提供的页面,然后确定安装就好了

打开 WiFi 设置页面,选择要连接的 wifi ,并且长按,在弹出的对话框中,选择“修改网络”。在接下来弹出的对话框中,勾选“显示高级选项”。在接下来显示的页面中,点击“代理”,选择“手动”。代理服务器主机名设为 PC 的 IP ,代理服务器端口设为 Fiddler 上配置的端口 8888,点”保存”。

苹果手机上的配置

苹果手机上的配置其实跟 Android 手机基本是一样的。如图

四、分析几个微转发平台的数据

https://blog.csdn.net/two_water/article/details/71106893

---------------------------------------------------------------------------

在windows下使用Charles对移动终端抓包(https请求)

一、Charles简介

Charles是目前最强大最流行的http抓包调试工具,Mac、Unix、Windows各个平台都支持。特别是做APP开发,调试与服务端的通信,Charles是必备工具。Charles本质是就是

一个http抓包分析工具,在工作的时候需要先把charles设置成代理服务器,这样所有的网络请求都会经过charles了。

官方下载地址:https://www.charlesproxy.com/download/

破解方法(要不然只能默认使用30分钟就自动关闭):

安装后先打开Charles一次(Windows版可以忽略此步骤)

下载破解文件charles.jar

替换掉原文件夹里的charles.jar

Windows: C:Program FilesCharleslibcharles.jar

安装完以后,去掉windows proxy的勾选。

原因是去掉后过滤掉PC上抓到的包,只抓取移动终端上的信息。

二、设置抓取https协议的包

设置charles ssl代理:Proxy->SSL Proxy Settings    弹出一个ssl代理设置界面

1)Enable SSL Proxying复选框打上勾

 2)添加你想要的设置代理的域名,端口默认443(不添加的话,会出现乱码)

三、手机下载ssl证书

1)Help->SSL Proxying ->Install Charles Root Certificate on a Mobile Device or Remote Browser,会弹出如下提示框:

手机浏览器输入上述的网址https://chls.pro/ssl,会提示输入图案,绘制好之后即可自动下载证书到手机端

给证书输入一个名称,保存即可。

四、设置代理(记住手机跟电脑要在同一个网络,用的同一个路由器)

1)查看默认端口    Proxy->Proxy Settings  在这个页面会看到HTTP Proxy的默认端口是8888   我们不需要修改,只需要知道有这个值就行

2)查看当前电脑的ip,例如我这里的是:10.8.12.161

3)接下来手机端设置代理,如下图所示即可

手机连接到Charles时会弹出提示框是否连接,点击Allow允许即可:

完成了以上步骤就可以抓到https请求的数据了,效果图如下

第一个请求详细信息:

第二个请求如下

比如我需要这三个参数去发送请求,就可以在这里看到,接着在下面api用这三个参数去发送请求

若要抓取http请求,在Charles的菜单栏上选择“Proxy”->“Proxy Settings”,填入代理端口8888(注意,这个端口不一定填写8888,也可以写别的端口,但是需要记住这个段扩,

因为这里设置的允许接入的端口,手机端配置的时候需要用到),并且勾上”Enable transparent HTTP proxying” 就可以了。

如何用Charles进行打断点:(有时候需要有这样的需求,比如我使用微信的三方登录时候需要code参数值,但是这种code只能使用一次即失效,所以我需要截取手机微信登录拿到code,这时候就需要使用Charles添加断点)

1)用Charles抓包发起一次接口请求

2)对要打断点的接口右键,选择【Breakpoints】

设置之后,点击Charles菜单【Proxy】-【Breakpoints Settings】即可看到需要断点的请求

参考文章:https://zhubangbang.com/charlesproxy

https://blog.csdn.net/victor_cindy1/article/details/77947437

0 人点赞