zoukankan      html  css  js  c++  java
  • 使用charles抓取app查看修改请求数据|20180903

    Charles是一款很实用,界面很友好(至少跟fiddler比起来),功能强大的抓包神器,因为它是基于 java 开发的,所以跨平台,Mac、Linux、Windows下都是可以使用的,并且在Android和iOS设备上通用。它的原理是通过成为电脑或者移动设备的代理截取请求和请求结果达到分析抓包的目的。本文将介绍Charles的安装,如何配置代理和一些基础功能的使用介绍以及本人使用过程中踩到的坑。如有错误,欢迎指正。

    Charles安装与破解下载地址

    一,网络与防火墙设置

    1.1网络

    电脑和手机连接同一wifi下,查看手机的ip地址,如10.X.X.X

    在电脑上打开cmd,使用命令 ping 10.X.X.X,如下图,代表电脑和手机之间网络畅通

    1.2防火墙

    打开控制面板,找到防火墙选项

    使用关闭选项关闭所有防火墙

     确保所有防火墙是关闭状态,

    二,Charles代理配置使用

    配置代理

    【注】这一步的目的是为了移动设备连接到Charles,这样移动设备发起的所有请求才能在Charles中看到。以下所有演示截图皆来自Android设备,iOS设备大同小异。

    2.1使用Charles工具查看

    PC本地IP和端口号(端口号默认为8888,也可自行修改),选择“Help->Local IP Address”

    查看的结果例如下图,使用来自wifi分配的IP地址,

    如不确定,可在“网络连接”中查看wlan状态

     

    2.2查看设置代理默认端口号

    “Proxy->Proxy Settings”

    2.3设置wifi

    长按Android设备当前连接的WiFi,选择”Modify network”->”Advanced options”->“Proxy”->”Manual”,如下图所示,输入”Proxy hostname”和”Proxy port”(即上一步查看的IP地址和端口号)然后点击保存,见下图:

    2.4allowip

    点击保存后,Charles会弹出connection确认弹窗,选择”Allow”,见下图:

     

    2.5手动设置allowip

    注意,如果首次连接时,Charles未出现该提示,请手动进入Charles的设置选项,添加当前手机的IP,选择“Proxy->Access Control Settings”

    点击“Add”手动添加IP

     三,抓取app请求数据

    3.1在手机上打开app,进行刷新或浏览的操作

    3.2查看抓取的数据包的内容

    四,分析修改指定http请求的header

    4.1查看app请求头

    连接和响应

     

    请求头

     

    4.2分析指定http请求

    将发往远程服务器的请求修改到本地电脑运行的测试环境

    例如:http://vdn.xx.xxx.cn/api2/live.do?channel=pa://cctv_p2p_hdcctv13

    转发到本地服务器地址:127.0.0.1:8080

    上面url拆分成需要填的格式,按照协议、host、端口、对应的程序路径、以及参数字符串

    例如:

    链接:http://vdn.xx.xxx.cn/api2/live.do?channel=pa://cctv_p2p_hdcctv13

    协议:http

    Host:vdn.xx.xxx.cn

    端口:80

    程序路径:/api2/live.do

    参数字符串:channel=pa://cctv_p2p_hdcctv13

    4.3修改指定http请求

    打开Charles -> tools -> Map Local Settings -> Enable Map Local启用映射本地,

    点击add添加规则,

     

    将4.2信息输入到Map From框内,map to输入本地服务器链接

     

    也可将指定文件作为返回信息,点击choose,选择该文件即可

  • 相关阅读:
    LinqToXML~读XML文件
    C#~使用FileSystemWatcher来监视文件系统的变化
    HDU4144:Bacon's Cipher
    国产手机的路还很长
    同一个存储过程中,不能多次select into 到同一张表的问题
    IT行业为什么没有进度
    IOT(Index Organized Table)
    模版——容器,迭代器
    shell split分析日志文件
    VMware vSphere 服务器虚拟化之十七 桌面虚拟化之安装View链接服务器
  • 原文地址:https://www.cnblogs.com/difs/p/9577908.html
Copyright © 2011-2022 走看看