zoukankan      html  css  js  c++  java
  • Charles抓包方法

    如果是mac在使用前需要点一下macOS proxy

    抓包的作用:

    抓包能看到所有发出去的请求,能帮助我们定位问题,看看是后端接口出现的问题,还是前端有问题:如果接口返回的都是对的就是前端的问题,如果接口返回异常就 是后端接口有问题

    http请求抓取:

    怎么抓手机上的包

    1、确定你的电脑和你的手机在一个局域网里面

    2、手机设置代理:

    在wifi那里配 置代理选择手动服务器那里设置自己电脑IP端口号设置8888

    一百种charles连接不上手机的处理方式

    1、检查电脑和手机有没有连接的同一个wifi,必须tm连接的一个网

    2、更换charles和移动端设备的端口,默认是8888,可以改成其他的试试

    3、有可能路由器设置的ap间不能相互访问,需要登录路由器,需要登录路由器。进行求改。把用户间访问的对勾勾上。类似于这样

    4、关闭电脑的防火墙。试试 首先,如果,防火墙关了还是不行,那么请把手机wifi断掉后重新连接,这样一般就可以解决问题了。 如果以上方法还是不行的话,那么请将手机wifi位置的ip地址设置成静态ip,然后重启charles工具。

    5、在charles上添加手机的ip试试

    查看charles端口号:

    3、ipconfig,查看自己电脑的ip地址

    4、手机通过设置http代理服务器,连接到电脑

      服务器输入电脑的ip

      端口和charles的端口一致,

    5、此时charles会给出提示。有新的连接。点击allow

    6、连接成功,此时手机发送的内容,charles可以抓到。

    然后如果勾选了Proxy - Windows Proxy 的话,那么就会将电脑上的抓包请求也抓取到,如果只抓手机的话,可以将这个设置为不勾选。

    怎么在模拟弱网测试 

    什么样的网络属于弱网

    低于2G速率的时候都属于弱网,3G也可划分为弱网,一般Wi-Fi不划入弱网测试范畴。

    charles模拟弱网  proxy => throttle settings

    配置参数解析:
    bandwidth —— 带宽,即上行、下行数据传输速度
    utilisation —— 带宽可用率,大部分modern是100%
    round-trip latency —— 第一个请求的时延,单位是ms。
    MTU —— 最大传输单元,即TCP包的最大size,可以更真实模拟TCP层,每次传输的分包情况。
    Releability —— 指连接的可靠性。这里指的是10kb的可靠率。用于模拟网络不稳定。
    Stability —— 连接稳定性,也会影响带宽可用性。用于模拟移动网络,移动网络连接一般不可靠。

    方法二:chrome的webview调试工具弱网模拟

    使用chrome的webview调试工具,缺点是只适用于web页面的弱网模拟。
    具体步骤:
    (1)应用打开webview调试功能,具体如下:
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        WebView.setWebContentsDebuggingEnabled(true);
    }
    (2)手机链接电脑,运行APP,进入具体H5页面;
    (3)chrome的DevTools中打开Webview:进入chrome://inspect/#devices,会显示已经连接设备,选中待调试webview的inspect
    network页面,No throttling下拉框,可以进行网络模拟。

    怎么拦截请求

    6、charles http 拦截(Breakpoints)
    在Sequence 这拦,选择要拦截的接口,右击 -> Breakpoints 以后的请求和响应分别拦截一次跳到改数据内容页面。
    按钮说明:

    cancel 跳过不改
    abort 丢弃
    excute 执行(修改后点击)

     2、在浏览器中刷新该页面,Charles会跳转到Breakpoints列表

     3、篡改请求信息后,点击底部Execute按钮

     

    4、返回浏览器查看服务器返回结果,返回的页面信息为http://www.nnzhp.cn/archives/category/python,而不是用户真正请求的http://www.nnzhp.cn/

    篡改服务器响应结果【可以用来模拟移动端的接口返回异常的情况】

    1、设置Breakpoints,将请求信息拦截,然后什么都不改,跳转到如下界面:

    3、点击Text,修改返回信息,点击Execute

    4、返回浏览器查看页面,展示信息如下

     给请求加参数

    对需要加参数的页面进行拦截,然后刷新,到breakpoints页面点击ADD,添加需要添加的参数,点击Execute

    然后等charles返回,返回带有参数,如下图:

    抓Https的包

    1. 安装charles ca证书
    1.1 选择 help | Install Charles CA SSL Certificate

    1.2 然后会弹出证书信息,选择安装证书,下一步,将证书存储改为:受信任的根证书颁发机构,下一步,完成

    2. 修改charles的proxy settings
    2.1 选择Proxy | Proxy Settings,弹出proxy设置选项卡,勾选Enabling transparent HTTP proxying

    2.2 选择ssl,勾选Enable SSL Proxying,在Location部份选择add,按如下图添加,抓取任意站点、443端口的数据

     这个时候去抓https://googleads.g.doubleclick.net/pagead/html/r20181107/r20180604/zrt_lookup.html返回200就正确了!

    URL映射 (把一个地址的请求转发到另一个地方)

    用途:比如线上有个bug需要验证,可以用线上的APP往线下发请求

    访问http://www.nnzhp.cn时向http://www.cc-na.cn/这个发请求

    浏览器展示如下:

    选择Map Local,映射到本地你保存的文件上面

    选择map local 是返回本地文件内容

     浏览器展示如下:

  • 相关阅读:
    吴裕雄--天生自然 Zookeeper学习笔记--Zookeeper 权限控制 ACL
    【机器学习】机器学习基础
    【QT】利用pyqt5实现简单界面
    【Mathtype】安装Mathtype后,word无法粘贴的问题
    【优化方法】牛顿法
    博客样式设置
    2018.8.28 练习赛
    2018.8.27 练习赛
    2018.8.26 练习赛
    2018.8.25 练习赛
  • 原文地址:https://www.cnblogs.com/cuimeiping/p/9953288.html
Copyright © 2011-2022 走看看