常规设置 同网段设置
//charlse默认会启动windows 本机请求抓包,如果不需要可以进行关闭
启动charles 菜单栏选择proxy --> 取消 Windows Proxy前面的 √
设置代理
菜单栏Proxy --> Proxy Setting Charlse默认端口号为8888,可以任意修改,勾选启用HTTP代理
经过上面电脑就被设置为了代理服务器,检查代理服务器地址
移动端连接相同的WIFI网络,点击网络进行详情设置
此时在移动端打开应用时,Charles就可以监听到应用发出的请求
同一局域网 不同网段
代理服务器端设置同普通代理设置相同,只是注意关闭防火墙(听大佬说要关就直接关闭了防火墙,未测试开启防火墙的情况)
设置Proxy-->Access Control Setting
移动终端设置
运行移动终端应用,Charles将会进行,选择接受即可,注:此处可能会出现不提醒的情况,可尝试重启Charles
关于拦截https请求
通过上图发现拦截到的请求中有些提示unknow,这是因为charles默认情况没有拦截https的权限,只能拦截http协议请求,需要通过证书安装来提供额外权限
安装步骤
菜单栏 Help -> ssl proxy -> install charles root Certificate 安装服务器端证书,直接确认即可
菜单栏 Help ->ssl Proxy -> install charles root on a mobile ***(此处有点长,省略),注该窗口先别关闭,否则可能证书安装不上!!!
打开移动端浏览器 输入:chls.pro/ssl 将会得到提示 按照提示操作即可,此处因为笔者已经安装好证书,因此提示的是已验证 初次安装提示为未安装
安装完毕后发现IOS设备可能此时仍然不能正确抓取https请求,这是因为受IOS系统版本的影响,
以前的版本的Ios默认已经启用了证书,但新版本的默认为关闭 因此需要手动进行启动
以 ios 11.1.2为例:设置->通用->关于本机->证书信任设置 开启对安装证书的信任
写在最后
charles默认启动时都会监听windows请求,这点很多时候是完全不必要的,可以进行设置不启动
设置:proxy->proxy setting->windows
以上主要记录在使用charles时遇到的问题的解决,有新问题再行补充
未完待续...