美文网首页程序员
charles教程之代理http(s)请求和抓包

charles教程之代理http(s)请求和抓包

作者: 小懒惰的猪 | 来源:发表于2019-02-28 10:29 被阅读178次

    做开发做项目总免不了抓包调试,window下使用fiddler,后来改用mac了,就使用上chaeles。

    电脑上本地http代理

    1、打开charles,菜单栏Tools--Map Local Setting,点击add,打开如下图

    charles--http抓包

    2、填写好相关信息后,点击ok。给个例子:

    charles--http抓包

    3、勾选上Enable Map Local后,点击ok即可。

    4、若刷新仍未代理成功,记得把缓存清一下。

    手机Http抓包

    1、打开charles,打开Proxy--Proxy Settings--Http Proxy里的Port,即代理端口,默认为8888--勾选Enable transparent HTTP proxying

    2、手机连接wifi(与电脑在同一个wifi下),进入设置--无线局域网--当前wifi,找到HTTP代理,手动设置。

    3、查看mac的IP地址,如192.160.0.1

    4、将手动设置中服务器填写为上一步获得的IP,端口填8888

    5、然后打开你要抓包的网页或app进行操作,即可在电脑charles上看到请求的一系列信息。

    6、charles弹出确认框,点击Allow按钮即可。

    Https抓包和代理

    https和http不同,需要获取下载证书。

    1、charles设置基本参数

    打开Proxy——Proxy Settings…——Proxies——HTTP Proxy里的Port,就是代理的端口,是与手机端一致(这里默认8888)——勾选Enable transparent HTTP proxying

    2、手机连上同wifi,并设置手动代理

    服务器为当前电脑ip,端口是上面设置的8888。此时已经可以实现初步抓包,下面接着把https的配置好,不配置的话,想抓包https下的会报错。

    3、配置电脑上charles的ssl

    Proxy--SSL Proxying Settings--SSL Proxying --勾选Enable SSL Proxying。在SSL选项卡中的Location表单填写要抓包的域名和端口,点击Add按钮,在弹出的表单中Host填写域名,比如填www.jianshu.com,Port填443(注意,这里先别填*:443, 下文会说明为什么)

    4、获取证书

    Charles--Help--SSL Proxying--nstall Charles Root Certificate on a Mobile Device or Remote Brower…--出现一个弹窗

    https证书下载

    5、手机按照提示安装证书

    打开safari,输入chls.pro/ssl,按照提示安装证书。这时,手机访问https的链接,charles也能抓到了。

    手机证书已安装

    6、电脑抓包https

    若电脑也想抓到https,还需要一点设置。Help--SSL Proxy--Install Charles Root Certificate--这时会打开【钥匙串访问】--解锁系统根证书--找到Charles Proxy CA--打开--选择信任--使用此证书时:始终信任

    7、最后一步

    记得前面说过的*:443吗,对,这时就可以改为*:443了,手机端,电脑,都可以访问任意https而畅通无阻。

    接下来就很HTTP抓包一样了,同理,本地代理也需要enable SSL Proxying。

    相关文章

      网友评论

        本文标题:charles教程之代理http(s)请求和抓包

        本文链接:https://www.haomeiwen.com/subject/rowcuqtx.html