乐趣区

关于抓包过滤:移动开发手机抓包

在挪动利用开发过程中,咱们会应用 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 手机抓包

退出移动版