程序员

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

2019-02-28  本文已影响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。

上一篇下一篇

猜你喜欢

热点阅读