一.简介
常用的抓包工具有:
- charles:可以运行在windows和macOs和linux;收费的,如果不交钱,只能每半小时重启一次;
- fiddler:可以运行在windows和linux;
- wireshark:可以运行在windows和macOs和linux。
其中,wireshark是一个老牌抓包工具,针对网卡层级,可以看到详细的报文交互细节过程,但是针对应用层面的接口抓包分析,它的界面不如charles和fidder更直观。
fiddler只能安装在windows下,应用范围有限,因此我们选择charles。
本文记录charles在mac的安装使用,以及手机端抓包。
抓包原理介绍:
首先,在客户端(手机or电脑)上配置代理服务,地址就是charles服务的地址,之后客户端访问网路,都会经过charles,charles自然就能抓取到所有网络请求。
二.下载安装
下载地址:https://www.charlesproxy.com/latest-release/download.do
然后下载安装即可,然后打开界面如下:
开启本机代理:
charles安装在本机,那么我们的电脑既充当了charles服务器,有作为客户端,既然作为客户端,就要配置开启代理服务,这样才能被charles抓取到信息。
安装启动后,已经默认开启了多本机的代理,如下快捷菜单已经勾选,此时访问网络就会被抓取到记录:
或者通过【Proxy】-》【Proxy Settings】菜单,如下:
- Port:8888是charles对外的访问的默认端口;ip就是本机ip;
- macOS菜单,点开会发现里面都勾选上了,这个功能和文中的快捷菜单是联动的;
三.https 证书安装
charles安装后,默认只能看到http的请求内容,对于https的请求,虽然也能抓取到,但是内容是加密的,也就是乱码状态,需要设置ssl证书后,才能看到内容。
- 上图中,蓝色图标的表示明文的;
- 灰色锁的图标,表示https加密的,看不到内容;
1.信任证书
打开【Help】–》【SSL Proxying】–》【Install Charles Root Certificate】
然后会跳转到mac的证书界面,找到charles的证书,次证书默认是红色的,表示没有信任,
此时需要双击打开证书,然后在【信任】菜单中选择 始终信任。
2.ssl代理设置:
步骤1弄好到了证书后,还是针对不通的域名单独Enable一下:
打开【Proxy】–》【SSL Proxying Setting】菜单,如下:
点击add按钮,输入*,表示允许所有域名,这样就不用一个个手动添加了。
通过以上配置后,我们抓取的信息,就都可以看到明文了。
四.移动端抓包
本文使用iphone,安卓也类似,流程都是一样的。
1.配置代理
首先需要在手机上配置charles服务的ip和端口号,
配置的位置,一般都是在网络那里,比如wifi的位置:
【设置】–》【无线局域网】–》【点击已经连接的网路】–》【最下面配置代理】–》【手动】,然后输入charles服务器ip和端口(默认8888)即可。
2.手机端证书安装:
和电脑端一样,如果不在手机上安装charles的证书,那么是无法看到https的内容的。
具体安装步骤,在charles上有提示:
打开【help】中的:
显示如下安装提示:
- a:在手机上配置代理服务的ip和端口,这个我们上一步已经配置了;
- b:手机浏览器打开地址 chls.pro/ssl ,下载证书;
- c:最后信任证书,设置–》通用–》关于本机–》信任证书;
以上设置完毕后,在手机端访问任何地址,在charles上都能看到。