Charles其实是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的
charles的主要功能:
1. 支持SSL代理。可以截取分析SSL的请求。
2. 支持流量控制。可以模拟慢速网络以及等待时间(latency)较长的请求。
3. 支持AJAX调试。可以自动将json或xml数据格式化,方便查看。
4. 支持AMF调试。可以将Flash Remoting 或 Flex Remoting信息格式化,方便查看。
5. 支持重发网络请求,方便后端调试。
6. 支持修改网络请求参数。
7. 支持网络请求的截获并动态修改。
8. 检查HTML,CSS和RSS内容是否符合W3C标准。
charles抓包使用:
1. 将Charles设置成系统代理
2. 截取移动设备上的网络请求包
2.1手动重复请求(Repeat,Advanced Repeat)
2.2手动模拟请求(Compose)
2.3修改网络请求内容(Compose)
3. 过滤网络请求
4. 代理转发
5. 支持https请求抓包
Charles 主要提供两种查看封包的视图,分别名为 “Structure” 和 “Sequence”。
1. Structure 视图将网络请求按访问的域名分类。
2. Sequence 视图将网络请求按访问的时间排序。
Charles 是通过将自己设置成代理服务器来完成抓包的,勾选系统代理后,系统本地发出去的请求都能被截取下来。
Chrome 和 Firefox 浏览器默认并不使用系统的代理服务器设置,而 Charles 是通过将自己设置成代理服务器来完成封包截取的,所以在默认情况下无法截取 Chrome 和 Firefox 浏览器的网络通讯内容。如果你需要截取的话,在 Chrome 中设置成使用系统的代理服务器设置即可,或者直接将代理服务器设置成 127.0.0.1:8888 也可达到相同效果。
注意:Charles是不能获取https的请求数据的。
手机抓包:
1、打开charles,首先进行设置,Proxy -> Proxy Settings默认端口是8888,必须保证手机和电脑是在一个局域网里面
2、手机设置代理
服务器写你电脑的ip
端口号呢,默认是8888
查看本机IP地址:Help -> Local IP Addresses
然后配置手机代理:
IOS和Android配置差不多
打开要调试的APP,请求就会先发送到Charles,然后验证是否允许访问。
当点击允许后,可以在Proxy -> Access Control Settings里看到可以访问此代理服务器列表
如果不小心点击了拒绝,可以手动添加手机IP/Mac地址到允许访问列表,或者重启Charles,手机再次访问,会再次提示选择。
如果不想每换一个手机都要进行验证,可以配置允许所有手机访问,加入
0.0.0.0/0(IPv4)或::/0(IPv6)
过滤网络请求
1. 在Sequence界面的中部的Filter栏中填入需要过滤出来的关键字。例如我们的服务器的地址是:*.leautolink.com,那么只需要在Filter栏中填入leautolink即可。(一般用于临时过滤)
2.在Charles的菜单栏选择"Proxy"->"Recording Settings",然后选择Include栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号。固定过滤地址,这样就可以只截取目标网站的封包了。
原文地址:https://www.cnblogs.com/tinazhu/p/9240636.html