抓包神器Charles简单使用

什么是Charles

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

 

Charles安装

去Charles的官方网站(http://www.charlesproxy.com)下载最新版的相应操作系统的Charles安装包安装即可。Charles是收费软件,可以免费试用30天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过30分钟,并且启动时将会有10秒种的延时。

 

破解Charles收费功能

链接:https://pan.baidu.com/s/1uPvSvrP9mApG76ttssIPxg  密码:ih46 下载charles.jar。MAC OS中将下载的jar替换掉/Applications/Charles.app/Contents/Java文件夹中的charles.jar

 

获取pc端网络请求包

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

 

 

获取移动端网络请求包 

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

 

 

 

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

 

 

然后配置手机代理:

填写pc端ip已经刚才设置的端口号

 

 

打开要调试的APP,请求就会先发送到Charles,然后验证是否允许访问。

 

 

 查看网络请求

 

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

 代理转发

 

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

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

右键请求 -> Map Remote ...

 

 

 

 

并且配置Tools -> Map Romote

 

Https请求抓包

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

mac

 

 双击打开Charles Proxy CA

 

 手机配置完代理(必须的操作)后,浏览器打开http://chls.pro/ssl下载证书并安装

 然后配置Proxy -> SSL Proxying Settings... 添加要抓取的https请求,两个都写,*代表所有

 

 

 

 配置完成

 

参考文章:https://www.jianshu.com/p/993bc794138d

转载于:https://www.cnblogs.com/idontknowthisperson/p/10213697.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值