关于如何配置charles,如何安装手机端与mac端证书的方法,如何使用过滤与调试,google搜索结果有一大堆,不再赘述,这里有个系统的教程,可自行了解。
https://www.axihe.com/tools/charles/charles/tutorial.html
我遇到的问题是:已按照规范配置,且安装了证书,但是host与ip的映射依然失败。
第一行:域名到ip的映射。
第二行:域名不变,https到http的映射。
于是我得到了这样的错误
QQ20210914-210433@2x.png
我仔细观察了charles的配置项,在Tools下方有DNS Spoofing与Map Remote。
二者的具体差别请查看这里
https://www.charlesproxy.com/documentation/tools/map-remote/
https://www.charlesproxy.com/documentation/tools/dns-spoofing/
通过对DNS协议的了解,加上文档的描述,得知由DNS Spoofing 来解决host到ip映射的问题的。于是我果断取消了Map Remote的配置,将映射关系添加到了DNS Spoofing中,问题解决。
修改如图:
![QQ20210914-210956@2x.png](https://img.haomeiwen.com/i5412009/2efe16893e1f0a82.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) QQ20210914-210956@2x.png
域名不变,https到http的映射在Map Remote中配置。
(PS:不同版本的Charles的DNS 配置名称或为DNS Setting)
- 总结
综上文章的描述,ip与host的映射,就交由DNS Spoofing
Map Remote 可以用来做http到https的映射,或者实现本地重定向。
关于为什么直接使用Map Remote 不可以?或与charles版本有关,或与mac系统版本有关,我这里未探索出,欢迎有结论的小伙伴留言交流。
网友评论