android抓包工具——fiddler与charles的基本操作(弱网模拟,map local/remote、breakpoint 等)
本文地址: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设备:
- 从 chls.pro/ssl 下载证书到本地。
- 复制到手机sdcard上
- 在手机
设置 -> 安全 -> 从存储设备安装
中命名并选择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方式:
使用charles进行抓包,请求希望进行mock测试的接口,如订单列表接口OrderList(修改某个订单的状态)。
选择OrderList接口,右键save response,将Response保存到本地。(这一步主要是为了获取数据样本)
修改保存到本地的Response文件,如将第一个订单的status由1改为2。
选择OrderList接口,右键map local,选择本地修改后的response文件。
再次请求接口时,手机端看到的数据将会是修改后的response文件的数据。
取消Map Local:
Map remote:
Breakpoints断点:
3.重新访问该请求,Charles自动跳转到Breakpoints页面
4.点击Edit Response,切换底部tab至Text,修改所需要的数据,点击执行
Rewrite:
使用charles 模拟弱网环境
点击proxy中的Throttle settings,打开网络设置页面
首先勾选Enable Throttling,在Throttling preset中可以选择工具默认配置的一些网络状况,上行、下行带宽
使用Fiddler进行HTTPS抓包
正题:这里介绍 抓包的关键,Fiddler ,Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯。
我们就是用这款软件抓取 ,我们手机app 访问的 资源路径 的。
下面 我们拿实例 来演示下,怎么用fiddler 抓取数据。(以某拍为例吧)。
安装好 fiddler ,手头有一部Android 手机,同时 还要有无线网,手机和 电脑在同一个无线网络。这些条件具备,我们就可以 开始下面的步骤了。
正题 :Fiddler 主菜单 Tools -> Fiddler Options…-> Connections页签,选中Allow remote computers to connect。
需要手机和安装 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 下载证书,然后安装证书。
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 等)相关推荐
- 抓包工具 fiddler和charles的安装及使用教程
一 .fiddler的安装 1.下载地址:fiddler下载地址 2.安装 3.只查看抓取某一条链接地址: 启用右侧工具栏filters,如下图所示: 二.charles 1.下载地址:charles ...
- android端口数据包,【图片】android抓包工具fiddler抓包使用方法 跟踪监控android数据包【中国红客联盟吧】_百度贴吧...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 md D:\Android_kitchen_v223_CN\home\kitchen\WORKING_mk\data\app >nul 2>这 ...
- 数据抓包工具(http/https)Charles,wireshark,fiddler的安装使用和区别对比 链接:https://www.365jz.com/article/24504 著作权归作者
数据抓包工具(http/https)Charles,wireshark,fiddler的安装使用和区别对比 转载:https://www.365jz.com/article/24504.
- 功能测试与抓包工具Fiddler(http与fiddler)
文章目录 功能测试与数据库 项目与数据库的关系 功能测试与抓包工具 HTML与HTTP 协议 URL HTML HTTP HTTP请求与响应 基本概念 HTTP请求 HTTP响应 抓包工具 Fiddl ...
- api 数据 App 抓包工具 fiddler
from : http://www.heyuan110.com/2015/06/17/App抓包工具fiddler/ App抓包工具fiddler Charles fiddler 抓包 确保安装 ...
- 【爬虫】网页抓包工具--Fiddler
[爬虫]网页抓包工具--Fiddler Fiddler基础知识 Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888, ...
- 抓包工具Fiddler使用(主要用于监听APP对外访问请求)
一.介绍 本人最近在做android开发,有时会遇到线上APP版本显示的数据"不符合预期",查找问题时,特别需要查看一下请求参数是否有问题,但是直接通过线上日志又不是很方便,如果此 ...
- 抓包工具 - Fiddler
一. 抓包的定义 就是将网络传输发送与接收的数据包进行截获.重发.编辑.转存等操作,也用来检查网络安全. 抓包也经常被用来进行数据截取等. 二. 抓包的作用 定位网络接口问题 分析其他APP数据接口 ...
- 抓包工具 - Fiddler(详细介绍)
原文:抓包工具 - Fiddler(详细介绍) Fiddler的详细介绍 一.Fiddler与其他抓包工具的区别 1.Firebug虽然可以抓包,但是对于分析http请求的详细信息,不够强大.模拟ht ...
最新文章
- Google搜索技巧-从入门到精通(从此学习进步、工作顺心)
- Linux 查看命令路径 以及相关信息
- python加载数据集,读取h5数据集python的一部分
- linux 程序随命令窗口退出一起退出
- 4. Median of Two Sorted Arrays
- build文件_把编译时间加入到目标文件
- lock.lock_HibernateCascadeType.LOCK陷阱
- lasso回归和岭回归_如何计划新产品和服务机会的回归
- 二叉树学习笔记--先序遍历
- 微软公司等数据结构+算法面试100题2010版全部出炉
- MsSQL SQLServer 查询 表中字段的及类型是否为空
- Android电视远程桌面,180元让电视变电脑 远程桌面终端评测
- Unity中解析Excel表格工具
- 广东大学计算机基础教材,21世纪高等学校计算机公共基础课规划教材:大学计算机基础(第2版)...
- 计算机电脑怎么开热点,电脑怎么设置wifi热点共享
- 让国外买家秒回复的询盘模板合集
- 跳棋编程c语言代码,跳棋游戏C语言程序设计(数据结构课程设计).doc
- 个人第1次作业:阅读与准备作业
- Android 展讯-关闭IP拨号功能
- 美拍短视频成本减半及毫秒起播优化实践