前边几篇宏哥介绍了Charles界面内容以及作用。今天宏哥就讲解和分享如何设置Charles后,我们就可以愉快地捕获会话,进行抓包了。因为上一篇许多小伙伴看到宏哥的Charles可以分开看到request和response,而自己的却看不到,因此有点蒙,有点疑惑。同样的版本显示的界面却是不一样的,私信问宏哥在哪里下载的,不用疑惑,不用问,宏哥也是在官网下载的。因此在介绍之前,首先解决一下上一篇小伙伴或者童鞋们私下问宏哥的问题:如何设置显示request和response?。
1.启动Charles后,点击Edit — Preferences ,如下图所示:
2.弹出设置界面,点击Viewers,取消Combine request and response前面的勾选,如下图所示:
3.点击OK保存,如下图所示:
4.点击确定,查看请求的request和response ,如下图所示:
若想查看request的请求头和请求数据,也可将第2步中的Combine header and body viewers前面的勾选取消,如下图所示:
查看request的请求头和请求数据,如下图所示:
常见的捕获会话的设备分为PC(电脑)端——web抓包和手机(Android和IOS苹果)端——APP抓包。
电脑端我们一般抓取的都是web网站请求和响应信息。那么我们看一下如何设置进行抓包。
Charles Web抓包非常简单,启动Charles会自动与浏览器设置成代理,不需要进行过多的设置,接下来我就就是通过浏览器发送网络请求,Charles就会直接抓取到这些信息和响应信息,如下图所示:
细心地小伙伴或者童鞋们从上图可以看到宏哥的图中抓取的是http协议的web网址,因为宏哥的Charles还没有设置如果抓取https协议的web网址,会报一些错误导致演示不成功,因此宏哥使用http协议的网址进行演示。Charles抓包不仅仅可以抓取来在电脑端的HTTP请求,也能够抓取来自App发出的HTTP请求,但是手机抓包需要在电脑端配置下,并且同时需要手机和电脑在同一网络下。
1.启动安装好的Charles抓包工具。
2.查看电脑IP地址。
方法一: 打开”运行”(快捷键:win+R键;或者在任务栏的”搜索”按钮中查找并点击”运行”),输入“cmd”后进入命令行窗口,在命令行窗口中输入”ipconfig”命令查看IP ,如下图所示:
方法二: 在charles中查看 :Help -> Local IP Address ,如下图所示:
3.点击【Proxy】–>【Proxy Settings】我们在设置下端口号“9999”(Charles和Fiddler一样默认的端口也是8888)。宏哥这里是为了避免Charles和Fiddler想要同时启用都用8888这个端口引起端口冲突的问题,所以提前设置成9999。如下图所示:
4.点击Proxy-->Proxy Settings,勾选“Enabling transparent HTTP proxying”,点击“OK”,其实这一步设置不设置都可以,宏哥试了一下,对抓取http包不影响,当然了就更不会影响https包的抓取了。如下图所示:
(1)Android手机
手机上进行设置:同一个wifi下设置代理,安卓应该是长按连接的WIFI,点击“修改网络”。填写服务器地址:计算机的IP(192.168.0.163),端口8888;如下图所示:
(2)iOS手机
1.打开手机的设置页面;选择【无线局域网】,如下图所示:
6.接下里验证下手机请求,当我们看到Charles里能抓到这个连接,就说明配置没问题,看到unknown,这个不要紧,那是我们没有安装针对手机端的证书,手机端HTTPS证书安装宏哥后边会有详细介绍,这里简单说明一下原因一笔带过,其实和Fiddler差不多,一样的思路,但是此时应该是可以抓取Http协议的包的。
好了,今天就简单的说明一些配置和技巧,后边关于手机端,宏哥会单独列出章节进行详细讲解。小伙伴或者童鞋们在这里先入入门有个印象就好。