软件测试 | HTTP 和 HTTPS 抓包分析
使用普通的抓包工具,如 Tcpdump,无法抓取到加密过的 HTTPS 的数据包。但是用经过配置的 Charles,可以抓取并分析 HTTPS 的数据包,下面的内容将会具体讲述如何配置 Charles 以及如何用 Charles 抓取 HTTP 和 HTTPS 数据包。
Charles 配置过程
1)配置代理:用 Charles 可以抓取移动端 App 上的数据,这时需要计算机和移动端 App 在同一网段(或同一 WiFi)。在 Charles 界面上依次选择“Proxy”→“proxy Settings”项,在打开的界面上填入代理端口 8888,并勾选“Enable transparent HTTP proxying”项。
2)获取证书:用浏览器访问“chls.pro/ssl”并下载证书,在 Charles 界面上依次选择“Proxy”→“SSL Proxying Settings”→“SSL Proxying”,在弹出的界面点击“Add”按钮,并在 Location 项下填写“ * ”,同时选择“Enable SSL Proxying” 复选框。然后点击“OK”按钮,如图 6-17 所示。
3)为浏览器安装证书:点击点在好的证书,安装浏览器证书。
4)证书信任配置:Mac 系统的配置:在 Mac 系统的右上角点击“搜索”文本框,在搜索框中填写“钥匙串访问”关键词,点击后会自动弹出设置界面,如图 6-18 所示,然后依次双击“Charles Proxy 证书” 项,在弹出的界面上点击“信任”项,选择“始终信任”,具体设置如图 6-19 所示。
Windows 系统的设置:启动谷歌浏览器,点击浏览器上的“设置”项,然后搜索“管理证书”,在弹出的界面上依次点击“受信任的根证书颁发机构”→“导入”项(见图 6-20 和图 6-21),完成证书信任配置。
5)移动端 App 配置证书:用移动端浏览器访问 chls.pro/ssl 并下载证书,如图 6-22 所示。
注:由于 Android7.0 以上版本新增了系统证书验证功能,所以,需要修改应用包的相应配置(证书信任相关的配置),这样用 Charles 才能成功抓取到 HTTP/HTTPS 的请求数据包。
搜索微信公众号:TestingStudio 霍格沃兹的干货都很硬核
评论