• 抓包神器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

  • 相关阅读:
    USACO 3.1
    linux 逻辑卷管理 调整分区大小
    记录一下
    ADOX创建ACCESS数据库列名的数据类型
    使用jstack分析cpu消耗过高的问题
    fastadmin添加定时任务
    linux定时任务
    技术域
    IOS div上下滑动效果
    mysql根据时间统计数据语句
  • 原文地址:https://www.cnblogs.com/idktp/p/10213697.html
Copyright © 2020-2023  润新知