Charles的使用

1.什么是Charles?

          是一个HTTP代理服务器,HTTP监听器,反转代理服务器,当程序连接Charles的代理访问互联网时,Charles可以监控这个程序发送和接收的所有数据,它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request,response,和HTTP headers。

2.Charles主要功能

          1.支持SSL代理,可以截取分析SSL的请求

          2.支持流量控制,可以模拟慢速网络以及等待时间较长的请求

          3.支持AJAX调试,可以自动将json或xml数据格式化,方便产看

          4.支持AMF调试,可以将Flash Remoting或Flex Remoting信息格式化,方便产看

          5.支持重发网络请求,方便后端调试

          6.支持修改网络请求参数

          7.支持网络请求的截获并动态修改

          8.检查HTML,CSS和RSS内容是否符合W3C标准

3.如何使用

      1.将Charles设置成系统代理

                 Charles 是通过将自己设置成代理服务器来完成抓包的,勾选系统代理后,系统本地发              出去的请求都能被截取下来。如果只抓取APP的包的话,可关闭此配置,这样不会出现太              多的数据看着比较乱。 

             mac:

                    

Windows:

           需要注意的是,Chrome 和 Firefox 浏览器默认并不使用系统的代理服务器设置,而 Charles是通过将自己设置成代理服务器来完成封包截取的,所以在默认情况下无法截取 Chrome 和 Firefox。

           浏览器的网络通讯内容。如果你需要截取的话,在 Chrome 中设置成使用系统的代理服务器设置即可,或者直接将代理服务器设置成127.0.0.1:8888 也可达到相同效果。

2.截取移动设备上的网络请求包

         我们在调试移动APP时,需要抓取APP发送的数据包,首先进行设置,Proxy -> Proxy Settings默认端口是8888,根据实际情况可修改。 

     

        查看本机IP地址:Help -> Local IP Addresses

        现在就可以抓包了。

        

3.过滤网络请求

          

        通常情况下,网络请求是非常大量的,从几十个请求里找到我们需要的观察的某个请求比较费时,那么我们就需要对网络请求进行过滤,只监控向指定目录服务器上发送的请求。有两种方法:

 

      1. 在Sequence界面的中部的Filter栏中填入需要过滤出来的关键字。例如我们的服务器的地址是:*.leautolink.com,那么只需要在Filter栏中填入leautolink即可。(一般用于临时过滤)

        2. 在Charles的菜单栏选择"Proxy"->"Recording Settings",然后选择Include栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号。这样就可以只截取目标网站的封包了。如下图所示:(固定过滤地址) 

 

4.代理转发

    

        实际开发时,有这样的场景,服务端线上版本有bug,你在本地修改程序后,需要模拟实际的线上环境,来验证程序的正确性,最笨的方法就是让客户端修改一下APP的调用地址到你本机,然后重新打一个版本供你模拟测试,这样虽然可以,但每次遇到bug都要这么做的话,那效率极其低下,然而Charles为我们解决了这个问题。

 

        请求转发,把调用方调用的地址转发到你本机地址的程序进行执行。

         右键 -> Map Remote ...

 

并且配置Tools -> Map Romote

    

运行APP

 

5. Https请求抓包

默认我们是看不到https的请求数据的。我们需要安装证书

Windows:

 

   

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值