发布新日志

  • 抓包工具Charles乱码解决办法

    2017-10-17 09:28:48

    http://www.51testing.com/?87714/

    Mac 上的设置

    1. 在 Charles 的工具栏上点击设置按钮,选择 SSL Proxy Settings,选中 Enable SSL Proxying。(别急,选完先别关掉)

    2. SSL 选项卡的 Locations 里填写要抓包的域名和端口,点击 Add 按钮,在弹出的表单中 Host 填写域名。比如填api.instagram.com或者*,Port 填 443






  • iOS开发之抓包工具Charles的安装配置及使用详解

    2017-03-14 10:33:13

  • iOS开发之抓包工具Charles的安装配置及使用详解

    2017-03-14 10:28:04

    http://www.jianshu.com/p/31fea1314a50

    144 
    作者 skyF2016 

     在移动app的开发当中,我们经常需要对大枷公司开发的app来进行仿制来提高自己的经验升级。这个时候我们往往需要抓取各自数据接口来获取数据。

    Fiddler这个软件由于是用C#开发的,所以很依赖win平台,所以我在实际开发中应用最多的还是Charles,由于开发语言是Java,所以具有很好的跨平台性。

    下载:

    官网:(PS:这是一款收费软件,土豪的童鞋可以支持一下。)目前最新的Release版本是3.11.5

    破解版:(PS:完全是为了让大家学习方便。)


    安装:

    我想大家都会我就不在这里说明了,如果安装过程中有什么问题可以随时私密我。

    配置:

    我在网上找了一下相关教程,几乎是千篇一律,有些具体的配置细节没有详细说明,很容易给初学者带来误导,这也是我决定写这篇文章的原因。

    一、抓取iOS真机设备上的http请求

    1、查看电脑的ip地址:


    2、打开charles,设置Mac OS X Proxy:


    3、设置proxy settings,记下端口号,默认8888


    4、打开手机的wifi详情,选择http代理,填入刚刚记下的电脑的ip地址,还有上面记下的charles的端口号(例如,默认的8888)


    5、在手机上进行网络访问,这样charles会出现一个提示,大体上意思是,是否允许charles作为手机的网络请求代理


    6、结果:例如我在手机端请求B站的信息:

    这是Response:


    还可以看这个接口的Request



    二、抓取iOS真机设备上的https请求

    因为为了保证网络访问更加安全,所以好多公司的接口都采用了https,而且苹果公司也对此有了明确的要求。

    1、首先就是安装Charles的根证书,Help - SSL Proxying - Install Charles Root Certificate ,会打开钥匙串应用,安装进去


    当安装后,可能你看不到在哪里,在右上角的搜索中 输入 cha 则会显示出来,你看到上面是此根证书不被信任!


    这样,证书是不可用的,我们需要设置,在证书上点击右键 -> 显示详情,展开信任选择始终信任


    然后点击左上角的关闭,系统会弹出授权提示框,授权同意修改,回到列表,稍等,证书就刷新了


    2、配置SSL访问,在Proxy->SSL Proxying Settings->点击add->在弹出的对话框里面设置主机和端口号,如果设置为: *.*为部访问。


    3、经过上面两步可以实现pc数据的抓取了,如果想要进行手机数据接口的抓取,还需要在手机端进行证书配置。

    CA证书下载链接:https://www.charlesproxy.com/documentation/additional/legacy-ssl-proxying/


    证书下载完成后,会自己提示安装,和企业级开发者证书一样,比较容易搞定。这样就可以抓取https的数据接口包了。


    也可以通过Help界面进行安装。




Open Toolbar