一. 介绍以及下载(windows)

Charles是一个HTTP代理/HTTP监视器/反向代理,使开发人员能够查看其机器和Internet之间所有HTTP和SSL/HTTPS流量,这包括请求,响应和HTTP标头(包含cookies和缓存信息)。下载地址

Charles 主要功能

  1. 支持截取HTTP与HTTPS的网络封包;
  2. 支持重发请求,方便后端调试;
  3. 支持修改网络请求参数;
  4. 支持网络请求截获并动态修改;
  5. 支持模拟弱网络环境测试。

So 允许我来讲一个主要功能的第一点,也是调试程序最基本最常用的一点(个人见解,勿喷); 接下来就开始看正文。

二. 安装及破解
  1. 安装还是比较简单的 访问官网 点击DOWNLOAD 一顿行云流水操作,就安装完成。
  2. 为什么要破解呢,Charles是一个收费软件,如果不破解的话打开应用后一次最多使用30分钟;当然这样的结果不是我们想要的 so 就需要一些特殊手段;
    2.1 破解的话 就是需要在网站上下载 charles.jar 文件替换掉 安装包内的此文件 破解文件下载地址

    2.2 下载完成后在Charles安装目录下的lib目录 找到之前的 Charles.jar 把新的覆盖粘贴进去 破解完成(未破解的Charles 只能使用半小时 半小时后程序闪退)
三. 下载证书
  1. 下载pc证书,打开Charles 点击Help--SSL Proxying --Install CharlesRoot Certificate 点击后会出现一个下载证书的页面
  2. 点击安装证书--当前用户--存储到受信任的根证书颁发机构

  3. 安装android证书 (小米手机为例) 电脑执行以下操作


3.1 电脑打开 chls.pro/ssl 网址下载charles-proxy-ssl-proxying-certificate .pem文件;然后使用usb传输文件方式下载到手机内;点击设置--WiFi--高级设置--安装证书--找到刚才下载的证书进行安装;
3.2 这是题外话,为什么查看blog有的文章说,手机浏览器访问 chls.pro/ssl 也能下载证书,我们却用pc下载再拉入手机呢;原因就是小米手机网站下载的是文件后缀为.crt的证书,在安装的时候小米识别不了,无法安装;在pc下载的是.pem后缀。

  1. 注意点:1. Android机型在7.0及以上版本,不再信任基于用户的CA证书,刚好咱们下载的这个证书就是基于用户的CA证书,so 关于小程序或者H5页面无法抓取请求,当然也是有解决的办法,下面就不赘述了 给个地址有兴趣可自行查看;
    4.1 这第一种方式需要公司Android大佬的配合,就是要Android在配置文件里加一个类似与CA集,信任用户安装的证书;
    4.2 第二种的解决方案思路则是先把证书下载到手机内部,然后将手机权限(root),强制将用户证书转为系统证书;
四. 设置代理端口以及过滤请求
  1. 回到pc 设置Charles代理服务器的端口 点击proxy -- proxySetting--设置端口 并启动
  2. 启用http代理,设置可以抓取的请求;(这里没有过滤使用了通配符;稍后说一个简单的过滤方法。)
五. 开始抓包
  1. 首先保证Android手机与PC同处于一个局域网之下(一个WiFi) 然后PC执行cmd命令 ipconfig 查看本机ip
  2. 手机链接WiFi设置代理 ip就是与PC相同的ip 端口就是刚刚咱们设置的端口;进入WiFi查看详情,选择代理改为手动,输入上图的ip,端口就是刚才咱们设置的端口8888;
  3. 看效果(下图中包含一次性过滤请求的方法,比较简单方便)

    3.1 使用方法:如果以上配置都已经完成,就可以打开Charles 一边“玩手机”一边工作了;Charles会记录下来你在手机做的操作(每个网络请求);然后根据相应的信息分析或者调试;

Charles(Windows/Android)入门使用的更多相关文章

  1. Android Studio2.0 教程从入门到精通Windows版 - 入门篇

    http://www.open-open.com/lib/view/open1468121363300.html 本文转自:深度开源(open-open.com)原文标题:Android Studio ...

  2. 【转】Xamarin.Android 入门之:Xamarin+vs2015 环境搭建

    Xamarin.Android 入门之:Xamarin+vs2015 环境搭建   一.前言 此篇博客主要写了如何使用搭建xamarin开发的环境,防止我自己万一哪天电脑重装系统了,可以直接看这篇博客 ...

  3. 小猪的Android入门之路 Day 7 part 2

    小猪的Android入门之路 Day 7 part 2 Android的数据存储与訪问之--SharedPreferences(保存偏好參数) ---转载请注明出处:coder-pig 本节引言: 在 ...

  4. 小猪的Android入门之路 day 1

    小猪的Android入门之路 Day 1 Android相关背景与开发环境的搭建 ------转载请注明出处:coder-pig 本节引言: 随着社会经济的发展,移动互联网的越来越热,手机APP开发显 ...

  5. Android入门第一课之Java基础

    通知:由于本周六场地申请没通过,所以本周的培训临时取消. 今天给大家带来的是Android入门的第一课,由于教室申请的不确定性,因此,每次培训的内容都会在博客先提前释放出来.首先Android的APP ...

  6. 【详细】Android入门到放弃篇-YES OR NO-》各种UI组件,布局管理器,单元Activity

    问:达叔,你放弃了吗? 答:不,放弃是不可能的,丢了Android,你会心疼吗?如果别人把你丢掉,你是痛苦呢?还是痛苦呢?~ 引导语 有人说,爱上一个人是痛苦的,有人说,喜欢一个人是幸福的. 人与人之 ...

  7. Android精通教程-第一节Android入门简介

    前言 大家好,给大家带来Android精通教程-第一节Android入门简介的概述,希望你们喜欢 每日一句 If life were predictable it would cease to be ...

  8. UniMelb Comp30022 IT Project (Capstone) - 1.Android入门

    1. Android入门 Android系统架构 Android系统:四层架构.五块区域 1. Linux内核层 Linux Kernel:为Android设备的硬件提供了底层驱动 2. 系统运行库层 ...

  9. Android入门教程(一)

    Android是什么? Android是基于Linux开发性内核的操作系统,该平台由操作系统,中间件,用户界面和应用软件组成.Android的基本信息:软件类型,APK,发行商:Google,最早版本 ...

  10. Android精通教程-Android入门简介

    前言 大家好,我是 Vic,今天给大家带来Android精通教程-Android入门简介的概述,希望你们喜欢 每日一句 If life were predictable it would cease ...

随机推荐

  1. Centos7离线安装mysql8

    linux版本:Centois7 mysql版本:5.7 一.安装 1.下载mysql离线安装包 下载地址:https://dev.mysql.com/downloads/mysql/ 选择如下: [ ...

  2. [Vue 牛刀小试]:第十四章 - 编程式导航与实现组件与 Vue Router 之间的解耦

    一.前言 在上一章的学习中,通过举例说明,我们了解了 Vue Router 中命名路由.命名视图的使用方法,以及如何通过 query 查询参数传参,或者是采用 param 传参的方式实现路由间的参数传 ...

  3. Adboe Flash远程代码执行_CVE-2018-4878漏洞复现

    Adboe Flash远程代码执行_CVE-2018-4878漏洞复现 一.漏洞描述 该漏洞可针对windows用户发起定向攻击.攻击者可以诱导用户打开包含恶意Flash代码文件的Microsoft ...

  4. golang切片和数组的区别

    好久的没有写博客了,这段时间没事研究了下go这门语言. 我们先介绍下go中的数组和切片的区别和用法 说了这么多 我们先来看段代码吧 var arr1 [3]int var arr2 [3]int = ...

  5. ACM之路(转载)

    转载自:https://www.cnblogs.com/tianjintou/p/4139416.html 要注意,ACM的竞赛性强,因此自己应该和自己的实际应用联系起来. 适合自己的才是好的,有的人 ...

  6. Python批量自动裁剪图片

    """用Pythonp批量裁剪图片""" from PIL import Image import matplotlib.pyplot as ...

  7. 渐进式web应用开发---service worker (二)

    阅读目录 1. 创建第一个service worker 及环境搭建 2. 使用service worker 对请求拦截 3. 从web获取内容 4. 捕获离线请求 5. 创建html响应 6. 理解 ...

  8. SPOJ:NPC2016A(数学)

    http://www.spoj.com/problems/NPC2016A/en/ 题意:在一个n*n的平面里面,初始在(x,y)需要碰到每条边一次,然后返回(x,y),问最短路径是多长. 思路:像样 ...

  9. 在Winform开发框架中使用DevExpress的TreeList和TreeListLookupEdit控件

    DevExpress提供的树形列表控件TreeList和树形下拉列表控件TreeListLookupEdit都是非常强大的一个控件,它和我们传统Winform的TreeView控件使用上有所不同,我一 ...

  10. python异步IO编程(一)

    python异步IO编程(一) 基础概念 协程:python  generator与coroutine 异步IO (async IO):一种由多种语言实现的与语言无关的范例(或模型). asyncio ...