前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Fiddler、Charles抓取数据

Fiddler、Charles抓取数据

作者头像
chenchenchen
发布2022-11-29 21:05:11
9540
发布2022-11-29 21:05:11
举报
文章被收录于专栏:chenchenchenchenchenchenchenchenchen

Fiddler抓取数据

一、Fiddler简介

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

下载神器Fiddler,下载链接:

http://fiddler2.com/get-fiddler

二、配置 Fiddler

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

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

选择Tools菜单

Fiddler配置1.png
Fiddler配置1.png

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

Fiddler配置2.png
Fiddler配置2.png

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

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

Fiddler配置3.png
Fiddler配置3.png

三、手机配置

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

获取IP地址.png
获取IP地址.png

Android 手机上的配置

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

浏览器输入下载证书.png
浏览器输入下载证书.png

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

手机配置代理.png
手机配置代理.png

苹果手机上的配置

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

iOS配置.png
iOS配置.png

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

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 Files\Charles\lib\charles.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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-05-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Fiddler抓取数据
  • 一、Fiddler简介
  • 二、配置 Fiddler
  • 三、手机配置
    • Android 手机上的配置
      • 苹果手机上的配置
      • 四、分析几个微转发平台的数据
      • 在windows下使用Charles对移动终端抓包(https请求)
      • 一、Charles简介
      • 二、设置抓取https协议的包
      • 三、手机下载ssl证书
      • 四、设置代理(记住手机跟电脑要在同一个网络,用的同一个路由器)
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档