zoukankan      html  css  js  c++  java
  • Android 常用抓包工具介绍之Charles

    更多技术干货请戳:听云博客

    Charles是一款抓包修改工具,相比起TcpDump,charles具有界面简单直观,易于上手,数据请求控制容易,修改简单,抓取数据的开始暂停方便等等优势!前面介绍了如何使用TcpDump抓包,下面给大家介绍一下Charles的使用。

    Charles抓包


     Charles是一个HTTP代理服务器/HTTP监视器/反转代理服务器。它允许一个开发者查看所有连接互联网的HTTP通信。这些包括request、response现HTTP headers(包含cookies与caching信息)。

    1、配置抓包环境

    1)下载Charles

    http://www.charlesproxy.com/

    2)安装Charles

    下载完毕之后,直接进行安装即可正常使用

    (ps:不注册的话,每次使用30分钟,工具就会自动关闭)。

    5.667.png  

    2、使用Charles进行抓包

    1)Http抓包

    6.777.png 

    i.打开Charles抓包工具 

    8.999.png 

    ii.打开网络偏好设置查看本机IP地址为:10.1.1.139

    注:Android 设备需要与PC连接同一网段 

    90.png 

    iii.连接同一WiFi后设置本机代理 

    98.png 

    iv.这里的IP地址为:10.1.1.139;端口号默认为:8888

    97.png 

    v.在Charles上查看即可

    2)Https抓包(中间人)

    a)下载Charles证书

    如果要查看Https的数据需要安装Charles的证书

    下载地址: http://www.charlesproxy.com/assets/legacy-ssl/charles.crt

    b)安装Charles证书

    将下载完成的charles.crt证书push到Android设备上(也可用常用工具)

    $ adb push charles.crt /sdcard/

    77.png 

    i.进入设置à安全à从手机存储卡安装证书

    88.png 

    ii.找到charles.crt点击安装

    776.png 

    iii.输入证书名称为:charles

    注:点击确认后需要设置手机解锁密码

    55.png 

    iv.安装成功后即可通过Charles查看Https的数据了

    c)添加需要查看的Https地址

    44.png 

    i.点击ProxyàSSL Proxying Settings…

    33.png     

    ii.在SSL Proxying中点击Add添加Https域名 

    221.png

    iii.可在charles中查找需要查看的Https域名复制到Host中点击Ok即可

    1233.png 

    iv.配置完成后重新访问Https域名,即可查看Https数据

    3、使用Charles模拟弱网环境

    测试过程中经常需要模拟网络环境,那么如何通过Charles来模拟弱网呢?

    455.png 

    i.选择ProxyàThrottle Setting…

    56.png 

    ii.勾选Enable Throttle并选择需要设置的网络环境即可

    4、使用Charles设置断点

    Charles能在网络访问过程中设置断点,对于开发者和测试人员来说,堪称神器。它能够断到发送请求前(篡改Request)和请求后(篡改Response)

    1)使用Breakpoint Settings设置断点

    333.png 

    555.png 

    2)选中域名插入断点

    343.png

    i.右击选中需要修改的域名,点击Breakpoints

    2233.png 

    ii.重新访问该域名,选择Edit Request进入修改页面

    112.png 

    注:Charles能够修改Request的:URL、Headers、Text、Raw;

    以及Response的:Headers、Set Cookie、Text、Html、Raw;

    这里以Request的headers参数为例进行修改

    11222.png   

    iii.这里查看原Headers携带参数为:{NBSHeaderTest1,NBSApp;b,NBSApp}

    现在通过断点方式修改为:{NBSHeaderTest1,TingyunTest}

    667.png 

    iv.修改完毕后点击Execute查看Request中的Headers已经修改为NBSHeaderTest1 TingyunTest

    5、使用repeat测试

    在Charles中可以通过repeat和repeat Advances来重复发送请求

    445.png 

    repeat Advances可以自定义重复次数和重复间隔

    原文链接:http://blog.tingyun.com/web/article/detail/516

  • 相关阅读:
    linux基础命令笔记
    linux日常常用命令分析
    43.QQ聊天软件GUI窗口编写
    42.线程概念及线程池
    pycham中报:ModuleNotFoundError: No module named 'pymysql'
    python os模块
    python用类的方式创建线程---自创建类
    python server端并发聊天
    python文件上传
    python编码--解码
  • 原文地址:https://www.cnblogs.com/TingyunAPM/p/5445476.html
Copyright © 2011-2022 走看看