charles抓包工具

一、Charles工具简介

        Charles(简称:尿壶、恰鄂斯)是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request, response和HTTP headers (包含cookies与caching信息)。

序号 工具名称 百度网盘下载 官方下载
A01 Charles 百度网盘 https://charlesapp.cn/
A02 OpenSSL 百度网盘 https://www.openssl.org/source/
A03 AdbTool 百度网盘 SDK官网

二、PC证书安装

三、安卓模拟器安装

  • 安装好Charles工具后并运行,按照下面的方法安装,优先按照自动安装进行安装,自动安装后没有效果再再使用手动安装的方法,我们这里以网易木木为实例。

1、自动安装证书

(1)、首先电脑要安装证书,详情见PC证书安装方法。
(2)、开启网易木木模拟器的超级管理员权限
(3)、设置Charles的PC端HTTP协议或者websocket协议代理。
(4)、移动端配置网络代理服务,抓http就配置http代理端口,抓websocket就配置websocket代理端口。
(5)、移动端游览器访问:chls.pro/ssl,下载证书傻瓜式安装证书。

2、手动安装证书

(1)、首先我们要下载证书保存到本地并命名Charles.pem保存样式
(2)、安装openssl工具并填加环境变量,按照下面方法检查是否按照成功。
(3)、使用openssl工具签发证书。

#在CMD命令行执行以下命令
C:\Users\admin>d:
D:\>cd D:\BBBBB
D:\BBBBB>openssl x509 -subject_hash_old -in Charles.pem
#执行命令后结果如下所示,记住“48243012”字符,很重要。
48243012
-----BEGIN CERTIFICATE-----
MIIFNjCCBB6gAwIBAgIGAYece1LPMA0GCSqGSIb3DQEBCwUAMIGfMTAwLgYDVQQD
DCdDaGFybGVzIFByb3h5IENBICgyMCBBcHIgMjAyMywgTVlQQy1NVSkxJTAjBgNV
BAsMHGh0dHBzOi8vY2hhcmxlc3Byb3h5LmNvbS9zc2wxETAPBgNVBAoMCFhLNzIg
#省略一万字
UYdCHtcY4rk9brFXtuUOHPbE0X+HrEFMTsHSocYqRxYjVq/kTEzrn3GkrcRutDWd
9bW3d5HWJLmhqk/8bV49rzCtX+YOdEP8GWrrFoi/6KNIe2HS3fR54W14
-----END CERTIFICATE-----

(4)、将Charles.pem文件重新命令为48243012.0,文件名称是我们证书签发的时候给的。
(5)、设置模拟器的配置中心,打开网易mumu的root权限。
(6)、使用Adb按照如下所示安装证书。

#在cmd命令连接网易木木模拟器
D:\BBBBB>adb connect 127.0.0.1:7555
connected to 127.0.0.1:7555
#进入模拟器的超级管理系统
D:\BBBBB>adb root
#进入安卓的内核系统
D:\BBBBB>adb shell
#挂载Linux系统磁盘并退出Linux系统
root@MuMu:/ # mount -o remount,rw /system
root@MuMu:/ # exit
#将文件导入模拟器系统磁盘中
D:\BBBBB>adb push D:\BBBBB\48243012.0 /etc/security/cacerts/
D:\BBBBB\48243012.0: 1 file pushed, 0 skipped. 0.8 MB/s (1888 bytes in 0.002s)
#再次进入Linux系统中查看导入证书是否存在。
D:\BBBBB>adb shell
root@MuMu:/ # cd /etc/security/cacerts/
root@MuMu:/etc/security/cacerts # ls 48243012.0
48243012.0

(7)、点击 Proxy ==>> Windows Proxy开启代理即可抓包

四、抓包数据乱码问题解决

1、 在charls的安装目录下,修改配置文件(D:\Charles\Charles.ini)的值(新增vmarg.5和vmarg.6)。

working.directory=.
classpath.1=lib/charles.jar
main.class=com.xk72.charles.gui.MainWithClassLoader
vm.version.min=11
vm.location=jdk\bin\server\jvm.dll
vmarg.1=-Dsun.java2d.d3d=false
vmarg.2=-Djava.net.preferIPv4Stack=false
vmarg.3=-Djava.net.preferIPv6Addresses=true
vmarg.4=-Djava.library.path=lib
vmarg.5=-Dfile.encoding=UTF-8
vmarg.6=-Dfile.encoding=UTF-8
dde.enabled=true
dde.class=com.xk72.charles.win32.Win32DDEManager
dde.server.name=Charles
dde.topic=System
single.instance=dde
log.level=warning

[ErrorMessages]
java.not.found=The bundled Java installation was not found. Please uninstall and reinstall Charles.
java.failed=The bundled Java installation is broken. Please uninstall and reinstall Charles.

2、点击Proxy ==>> SSL proxy setting弹窗页码修改配置

五、手机真机安装证书

1、首先要给电脑安装证书
2、接着点击Proxy->SSL Proxy Settings,设置SSL Proxying
3、接着需要在手机端安装证书,点击Charles上的Help->SSL Proxying->Install Charles Root Certificate on a Mobile Device or Remote Browser
4、手机wifi连接charls代理,主机输入安装pc的ip,端口输入charls的proxy settings中设置的port
5、接着在手机浏览器上访问charlesproxy.com/getssl这个地址安装证书

六、其他功能讲解

1、弱网模拟

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容