本文地址:http://blog.csdn.net/u011733020

使用Charles进行HTTPS抓包

Charles 也是一款很好用的抓工具,尤其是在Mac 上面,这里记录下 Mac 上使用Charles 抓包看数据,以及使用Charles mock 接口进行接口调试,模拟弱网环境的使用。

第一步 配置HTTP代理,这步与抓取HTTP请求是一样的:

选择在8888端口上监听,然后确定。够选了SOCKS proxy,还能截获到浏览器的http访问请求。

第二步 安装电脑端根证书:

首先在charles的 Help选项 选择 SSL Proxyings选项 再选择 Install Charles Root Certificate选项

设置信任:

第三步 配置SSL代理:

在charles的 Proxy选项选择SSL Proxy Settings

点add添加需要监视的域名,支持 *号通配符,端口一般都是443:

第四步 为手机设置代理

确保手机与电脑在同一局域网内,在手机无线中配置手动代理,输入安装Charles的电脑的网络地址,端口填8888。

第五步 为手机安装根证书

在手机上安装Charles的根证书:

iOS设备:在Safri上打开Charles的根证书下载网址: chls.pro/ssl 。
顺利的话会出现这样的画面,继续点安装,然后去设置里的描述文件管理中信任它就行了。

Android设备:

  1. 从 chls.pro/ssl 下载证书到本地。
  2. 复制到手机sdcard上
  3. 在手机设置 -> 安全 -> 从存储设备安装 中命名并选择WLAN按照。

注意部分机型不识别.pem 格式,可以手动改为 .crt 格式。vivo 安装Charles证书步骤

注意 安卓7.0以后不允许https抓包,如果想看自己app的https数据,要配置一下networkSecurityConfig

 <applicationandroid:networkSecurityConfig="@xml/network_security_config"

文件目录res/xml/networkSecurityConfig.xml

<?xml version="1.0" encoding="utf-8"?>
<network-security-config><base-config cleartextTrafficPermitted="true"><trust-anchors><certificates src="system" /><certificates src="user" /></trust-anchors></base-config>
</network-security-config

使用map local方式:

  1. 使用charles进行抓包,请求希望进行mock测试的接口,如订单列表接口OrderList(修改某个订单的状态)。

  2. 选择OrderList接口,右键save response,将Response保存到本地。(这一步主要是为了获取数据样本)

  3. 修改保存到本地的Response文件,如将第一个订单的status由1改为2。

  4. 选择OrderList接口,右键map local,选择本地修改后的response文件。

  5. 再次请求接口时,手机端看到的数据将会是修改后的response文件的数据。

取消Map Local:

通过Tools->Map Local取消。

Map remote:

Map remote将指定的网络请求重定向到另一个网址,Map Remote使用场景:把请求的url替换成另一个url来执行
1.设置Map remote
点击Tools->Map Remote,勾选Enable Map Remote,点击Add,参数项如下:

Breakpoints断点:

Breakpoints是打断点的意思,相当于开发同学的debug功能。在抓包工具Charles里面通过Breakpoints打断点修改数据
https://blog.csdn.net/chengxu_kuangrexintu/article/details/89807737
1.找到需要打断点的请求,右键选择Breakpoints
2.设置断点,Proxy->BreakPoints Settings,弹窗编辑请求

3.重新访问该请求,Charles自动跳转到Breakpoints页面

4.点击Edit Response,切换底部tab至Text,修改所需要的数据,点击执行

Rewrite:

可以对某些匹配请求的header、host、url、path、response、body等进行数据重写;rewrite工具支持正则表达式的写法,例如Math项的value正则式中的组捕获项在Replace的value值中可以使用$1~$n之类的捕获组
1.入口
Charles菜单选择【Tools】->Rewrite
2.添加请求
勾选Enable Rewrite,在左侧栏点击【Add】添加(勾选则代表启动该请求)

新增Location信息填写如下:

新增Type和Action如下:

总结:这样刷新后,匹配到的接口相关数据就会更改

总结
Rewrite可以使用正则更改请求数据;Map Local只能更改请求的reponse数据,只改变reponse值使用Map Local最好;Map remote可以重定向请求的整个url;BeakPoints断点用作调试临时修改请求数据

使用charles 模拟弱网环境

点击proxy中的Throttle settings,打开网络设置页面

首先勾选Enable Throttling,在Throttling preset中可以选择工具默认配置的一些网络状况,上行、下行带宽

============================================================================================================================================

使用Fiddler进行HTTPS抓包

正题:这里介绍 抓包的关键,Fiddler  ,Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯。

我们就是用这款软件抓取 ,我们手机app 访问的 资源路径 的。

下面 我们拿实例 来演示下,怎么用fiddler 抓取数据。(以某拍为例吧)。

环境: win7 和 G620S-UL00(华为畅玩)。

准备工作:

首先 我们要下载 Fiddler 这款软件 大家官网下载:http://www.telerik.com/download/fiddler 注意 wind7 wind8 下载不是一样的,官网有详细介绍。自行安装。

安装好 fiddler ,手头有一部Android 手机,同时 还要有无线网,手机和 电脑在同一个无线网络。这些条件具备,我们就可以 开始下面的步骤了。

正题 :Fiddler 主菜单 Tools -> Fiddler Options…-> Connections页签,选中Allow remote computers to connect。

  然后,我们重启一下fiddler。

获取PC的IP地址:

获得安装 Fiddler 这台电脑在局域网内的 IP,在手机上设置代理服务器的时候会用到,开始菜单打开运行窗口(快捷键 Win + R),输入 cmd 回车,进入 Windows 命令行工具,输入 ipconfig 回车,获取PC的ip地址:

设置手机代理:

需要手机和安装 Fiddler 电脑在同一WIFI下,手机连接到WIFI。打开手机的WIFI设置界面,选中连接的WIFI,长按,弹出如下界面,选择“修改网络”。

将使用代理服务器打勾,并填上刚才在 PC 机上 ipconfig 获得的 IP 地址 192.168.1.95,端口号填 Fiddler 默认的 8888

点击保存,这样就完成了代理的设置。可以通过Fiddler抓去http数据包了。

这里,我就进入一下某拍的APP。点击其中的一个视频 ,就可以在fiddler 中看到

然后我们选中一行,右键 copy  url  就可以拿到 数据了。

这里上图

再上一个连接  http://mvvideo1.meitudata.com/558931da76dda6982.mp4。

不要做坏事。 文章的格式,就忽略了吧。

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

2019.7.22更新, 使用Fiddler 进行https 抓包 首先 用手机浏览器 访问本机ip:端口号 10.0.0.0:8888 下载证书,然后安装证书。

javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.

这个 是证书认证问题

     OkHttpClient.Builder builder = new OkHttpClient.Builder();builder.readTimeout(DEFAULT_MILLISECONDS, TimeUnit.MILLISECONDS);builder.writeTimeout(DEFAULT_MILLISECONDS, TimeUnit.MILLISECONDS);builder.connectTimeout(DEFAULT_MILLISECONDS, TimeUnit.MILLISECONDS);builder.sslSocketFactory(createSSLSocketFactory());builder.hostnameVerifier(new HostnameVerifier() {@Overridepublic boolean verify(String hostname, SSLSession session) {return true;}});mOkHttpClient = builder.build();
    private static SSLSocketFactory createSSLSocketFactory() {SSLSocketFactory ssfFactory = null;try {SSLContext sc = SSLContext.getInstance("TLS");sc.init(null, new TrustManager[]{new TrustAllCerts()}, new SecureRandom());ssfFactory = sc.getSocketFactory();} catch (Exception e) {}return ssfFactory;}
public class TrustAllCerts implements X509TrustManager {@Overridepublic void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {}@Overridepublic void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {}@Overridepublic X509Certificate[] getAcceptedIssuers() {return new X509Certificate[0];}
}

谢谢认真观读本文的每一位小伙伴,衷心欢迎小伙伴给我指出文中的错误,也欢迎小伙伴与我交流学习。

欢迎爱学习的小伙伴加群一起进步:[点击链接加入群聊【编程之美】

android抓包工具——fiddler与charles的基本操作(弱网模拟,map local/remote、breakpoint 等)相关推荐

  1. 抓包工具 fiddler和charles的安装及使用教程

    一 .fiddler的安装 1.下载地址:fiddler下载地址 2.安装 3.只查看抓取某一条链接地址: 启用右侧工具栏filters,如下图所示: 二.charles 1.下载地址:charles ...

  2. android端口数据包,【图片】android抓包工具fiddler抓包使用方法 跟踪监控android数据包【中国红客联盟吧】_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 md D:\Android_kitchen_v223_CN\home\kitchen\WORKING_mk\data\app >nul 2>这 ...

  3. 数据抓包工具(http/https)Charles,wireshark,fiddler的安装使用和区别对比 链接:https://www.365jz.com/article/24504 著作权归作者

    数据抓包工具(http/https)Charles,wireshark,fiddler的安装使用和区别对比 转载:https://www.365jz.com/article/24504.

  4. 功能测试与抓包工具Fiddler(http与fiddler)

    文章目录 功能测试与数据库 项目与数据库的关系 功能测试与抓包工具 HTML与HTTP 协议 URL HTML HTTP HTTP请求与响应 基本概念 HTTP请求 HTTP响应 抓包工具 Fiddl ...

  5. api 数据 App 抓包工具 fiddler

    from   :  http://www.heyuan110.com/2015/06/17/App抓包工具fiddler/ App抓包工具fiddler Charles fiddler 抓包 确保安装 ...

  6. 【爬虫】网页抓包工具--Fiddler

    [爬虫]网页抓包工具--Fiddler Fiddler基础知识 Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888, ...

  7. 抓包工具Fiddler使用(主要用于监听APP对外访问请求)

    一.介绍 本人最近在做android开发,有时会遇到线上APP版本显示的数据"不符合预期",查找问题时,特别需要查看一下请求参数是否有问题,但是直接通过线上日志又不是很方便,如果此 ...

  8. 抓包工具 - Fiddler

    一. 抓包的定义 就是将网络传输发送与接收的数据包进行截获.重发.编辑.转存等操作,也用来检查网络安全. 抓包也经常被用来进行数据截取等. 二. 抓包的作用 定位网络接口问题 分析其他APP数据接口 ...

  9. 抓包工具 - Fiddler(详细介绍)

    原文:抓包工具 - Fiddler(详细介绍) Fiddler的详细介绍 一.Fiddler与其他抓包工具的区别 1.Firebug虽然可以抓包,但是对于分析http请求的详细信息,不够强大.模拟ht ...

最新文章

  1. Google搜索技巧-从入门到精通(从此学习进步、工作顺心)
  2. Linux 查看命令路径 以及相关信息
  3. python加载数据集,读取h5数据集python的一部分
  4. linux 程序随命令窗口退出一起退出
  5. 4. Median of Two Sorted Arrays
  6. build文件_把编译时间加入到目标文件
  7. lock.lock_HibernateCascadeType.LOCK陷阱
  8. lasso回归和岭回归_如何计划新产品和服务机会的回归
  9. 二叉树学习笔记--先序遍历
  10. 微软公司等数据结构+算法面试100题2010版全部出炉
  11. MsSQL SQLServer 查询 表中字段的及类型是否为空
  12. Android电视远程桌面,180元让电视变电脑 远程桌面终端评测
  13. Unity中解析Excel表格工具
  14. 广东大学计算机基础教材,21世纪高等学校计算机公共基础课规划教材:大学计算机基础(第2版)...
  15. 计算机电脑怎么开热点,电脑怎么设置wifi热点共享
  16. 让国外买家秒回复的询盘模板合集
  17. 跳棋编程c语言代码,跳棋游戏C语言程序设计(数据结构课程设计).doc
  18. 个人第1次作业:阅读与准备作业
  19. Android 展讯-关闭IP拨号功能
  20. 美拍短视频成本减半及毫秒起播优化实践

热门文章

  1. 大数字的单位转换方法
  2. 写给前端应届生的职业规划建议
  3. 一出校门就进入微软工作是一种怎样的体验?
  4. pagerank算法c语言,PageRank算法代码
  5. linux格式化磁盘出错
  6. Uncaught (in promise)的解决方法,可能原因
  7. 深入折腾 Weex,知乎日报客户端开发
  8. 中国最牛的5位程序员
  9. 2021中国人工智能年度评选开启:3大类别6大奖项申报启动,让更多人看到AI的真正价值...
  10. PowerBuilder学习笔记(变量作用域)