在挪动利用开发过程中,咱们会应用Charles和Fiddler进行抓包。通常要抓取HTTPS加密的数据包,个别应用Charles或者Fiddler4代理HTTP申请,配置证书信赖后,便可拿到明文报文。然而因为Charles证书和Fiddler证书并非证书机构颁发的指标站点的非法证书,所以会不被信赖。要解决这个问题,咱们须要应用到Xposed+JustTrustMe工具来敞开SSL验证。

一、 Charles应用

1.1 配置Charles

关上Charles,而后点击【Proxy】 -->勾销勾选 【windows proxy 】,如下图。

1.2 代理https并增加证书

点击【Proxy】-->【SSL Proxy Settings】弹出SSL代理设置界面 。

而后,选中【Client Certificates】增加域名的证书,如下图。

而后,抉择 【Help】--> 【ssl proxy 】->【 Install Charles Root Certificate】,

装置实现之后,再抉择【Install Charles Root Certificate on a Moblie Device or Remote Browser】,如下图所示。

接下来,关上手机中的wifi设置,将电脑和手机连贯在同一个wifi环境下,在手机端中批改以后wifi设置,将代理抉择手动,服务器主机名填入域名,服务器端口输出8888即可。而后,关上浏览器输出【chls.pro/ssl】回车会进入charles证书下载,加载之后是一个.pem文件,须要重命名更成成.crt后缀,这是手机端的证书安装包,间接关上装置即可.

失常来说,步骤到这就算实现了。然而如果手机是安卓7当前的版本,就会失败 始终是“unknow”,这是因为应用程序不再信赖用户或管理员增加的CA用于平安连贯。对于这种问题,咱们须要在Android应用程序中增加ssl信赖配置。
关上Android利用的Mainfest.xml文件,增加如下内容。

  <application       ...        android:networkSecurityConfig="@xml/network_security_config" >

而后,新建network_security_config.xml文件,增加如下脚本。

<?xml version="1.0" encoding="utf-8"?><network-security-config>    <base-config cleartextTrafficPermitted="true" />    <domain-config>        <domain includeSubdomains="true">api.xj.mydeertrip.com</domain>//须要抓包的域名        <trust-anchors>            <certificates src="@raw/charles"/>//手机中下载的.pem格局证书文件 名称         </trust-anchors>    </domain-config></network-security-config>

其中,charles是.pem文件名,就是手机中下载的.pem证书文件放入工程的res/raw文件夹中即可。

如何配置Https,能够参考Charles 如何抓取https数据包

二、 Burp Suite

2.1 装置Burp Suite

2.1.1 下载Burp Suite

如果还没有下载Burp Suite,能够应用上面的地址下载Burp Suite下载链接。而后,咱们下载macOS Burpsuite注册机,解压注册机和汉化包,在终端中关上 BP 程序内置的 JAVA 文件门路。

cd /Applications/Burp\ Suite\ Professional.app/Contents/java/app && open .

而后,将咱们下载的macOS Burpsuite.zip的解压内容拷贝进去,如下图所示。

2.1.2 自定义启动参数

而后,咱们应用如下的命令关上vmoptions.txt文件自定义启动参数。

open /Applications/Burp\ Suite\ Professional.app/Contents/vmoptions.txt

默认状况下的启动配置如下。

-noverify-javaagent:BurpSuiteLoader.jar-XX:MaxRAMPercentage=50-include-options user.vmoptions

而后咱们,批改为如下的模式。

-noverify-javaagent:BurpSuiteLoader.jar-javaagent:BurpSuiteCn.jar-Dfile.encoding=utf-8-XX:MaxRAMPercentage=50-include-options user.vmoptions

抉择本人想要的启动形式保留并退出,如下所示。

2.1.3 激活 Burpsuite

如果之前你没有激活过 Burpsuite 的话,那么第一次可能须要提醒输出许可证秘钥,运行如下命令关上注册机。

chmod +x /Applications/Burp\ Suite\ Professional.app/Contents/java/app/license_key.sh && sh /Applications/Burp\ Suite\ Professional.app/Contents/java/app/license_key.sh

首先将注册机的【License】复制粘贴到 BP 的许可证秘钥框中,而后点击【下一步】,如下图所示。

接着点击【手动激活】,如下图所示。

点击注册机外面的【辅助申请】按钮,将信息粘贴到注册机中的 【Activation Request】中,此时注册机会在【Activation Response】生成返回信息,而后将这个返回信息粘贴到 BP 中,点击【粘贴响应】按钮即可,最初点击【下一个】即可。


启动胜利后,页面大略是上面这样子的。

参考文档链接:Burpsuite装置与激活

Xposed+JustTrustMe应用

首先,下载Xposed+JustTrustMe和安卓模拟器(如夜神、网易木木Android模拟器)。而后咱们在Android模拟器上装置方才下载的Xposed和JustTrustMe。

为了避免在真机上手机变砖的问题,咱们在模拟器上进行试验。装置Xposed,初始化界面会有一些正告。

装置的时候请确保模拟器曾经Root。

重启后关上Xposed发现激活胜利,如下图所示。

点击桌面的左上角,而后点击模块,勾选JustTrustME重启手机开启JustTrustME。

最初,在客户端装置HTTPS平安证书即可。

参考:
Fiddler+夜神模拟器+xposed+justTrustMe手机抓包