charles抓包
Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request, response和HTTP headers (包含cookies与caching信息)。
Charles主要功能:
- 支持SSL代理。可以截取分析SSL的请求。
- 支持流量控制。可以模拟慢速网络以及等待时间(latency)较长的请求。
- 支持AJAX调试。可以自动将json或xml数据格式化,方便查看。
- 支持AMF调试。可以将Flash Remoting 或 Flex Remoting信息格式化,方便查看。
- 支持重发网络请求,方便后端调试。
- 支持修改网络请求参数。
- 支持网络请求的截获并动态修改。
- 检查HTML,CSS和RSS内容是否符合W3C标准。
web抓包
启动Charles会自动与浏览器设置成代理,不需要进行过多的设置。
如何抓取https包:
1.点击顶部菜单栏【Help】-->选择【SSL Proxying】,点击【install Charles Root Certificate 】安装Charles根证书即可

2.点击【Proxy】-->【SSL Proxying Settings】
在弹出选项卡中,勾选【Enable SSL Proxying】点击【add】,在Host输入【*】表示接收任何主机,在Prot输入【443】最后点击【ok】保存
如何监听特定网站
方法一:直接在会话窗口左下角Filter中过滤特定域名
方法二:在 Charles 的菜单栏选择 "Proxy"->"Recording Settings",
然后选择 Include 栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号。
通常情况下,我们使用方法一做封包过滤,方法二做一些唯一的域名抓包。
方法三:设置焦点过滤
在会话窗口选择一条记录,右击域名------Focus------可针对该域名以外的其他域名都进行过滤,只展示该域名的请求数据。
App抓包
HTTP
Charles抓包不仅仅可以抓取来在电脑端的HTTP请求,也能够抓取来自App发出的HTTP请求,但是手机抓包需要在电脑端配置下,并且同时需要手机和电脑在同一网络下。
电脑端配置:
1.启动安装好的Charles抓包工具;
2.点击【Help】-->【local IP Address】获取下ip地址,也可以直接通过电脑自带的CMD命令来获取电脑IP【ipconfig】
3.点击【Proxy】-->【Proxy Settings】我们在设置下端口号,默认是8888,根据自己情况合理配置;
iOS
前提:chalres电脑本地证书安装
1.打开手机的设置页面;
2.选择【无线局域网】;
3.iOS点击连接的WIFI后面的 i
4.点击HTTP代理【配置代理】-->【手动】;
5.输入本机【IP地址】以及端口号【】;
6.点击【存储】
抓HTTPS包
安装手机端HTTPS证书。
1.点击顶部菜单栏【Help】-->选择【SSL Proxying】,点击【install Charles Root Certificate】安装Charles根证书即可;
2.点击安装【Install Charles Root Certificate On a Mobile Device or Remote Browser】在移动设备上或远程浏览器安装证书即可;(这里和上面安装一样)

下载-安装,安装时信任此证书(前往手机-设置-通用-关于本机-证书信任设置,查看)。
Android
前提:chalres电脑本地证书安装
1.打开手机的设置页面;
2.选择【无线局域网】;
3.长按WLAN,修改网络
4.代理-手动
5.输入本机【IP地址】以及端口号【】;