码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Charles的奇巧淫技


    大家好,我是 dom 哥。今天讨论一下 Charles 的高级用法。

    Charles 是 mac 电脑的一个网络代理软件,也是我平时开发常用的一个工具,用过的都说好😁。

    本文不是 Charles 的入门介绍,而是针对一些特殊使用场景的摸索和总结。

    Tools > Map Remote

    Map Remote 工具能够将请求映射到另一个服务器,它可以改变请求的目的地,HTTP 请求会透明的映射到新地址,就像直接请求新地址一样。

    例如你可以将 https://A.com/a1/a2 映射到 http://B.com/b1/b2 。

    💡 最常见的一个使用场景是将线上资源映射到本地开发服务器 www.com -> localhost,以此实现本地调试线上。

    Tools > Map Local

    Map Local 工具能够将请求映射到本地文件,也就是将本地文件作为某个请求的返回。Map Local 和 Map Remote 相辅相成,一个映射到服务器,一个映射到本地文件。

    如果说 Map Remote 是大面积覆盖,那么 Map Local 就是单点爆破。这对快速调试某个线上静态资源很方便。

    💡 比如把某个线上 js 文件下载到本地,修改修改,然后通过 Map Local 这个本地文件映射就可以直接看到效果进行验证。不必走完 CI,CD 这一套焦头烂额的等待了。

    Tools > Rewrite

    Rewrite 工具能够让你重写覆盖请求的任意部分,包括 request 和 response 的 header 和 body。

    💡 下面是一些使用场景:

    • 重写 response header 实现 cors 跨域
    • 重写 cookie 实现一些校验
    • 重写 body 实现类似 Map Local 的效果

    Tools > DNS Spoofing

    DNS 欺骗工具可以将一个域名映射到一个 IP 地址下,和系统 hosts 文件的作用一样。

    实际上,在 Map Remote 里配置 example.com -> 20.205.243.166 能实现相同的效果。

    💡 有了这个功能,我卸载了 hosts 管理软件。

    Proxy > External Proxy

    Charles 本身是一个代理,它还支持再配一层外部代理,通常是 VPN。请求会先过 Charles,再走外部代理。

    💡 例如,想要抓包的话需要开启 Charles 的 macOS Proxy,此时 Charles 会自动设置系统代理。

    同时可能开了 ClashX 等 VPN 软件。那么就需要配置上 External Proxy:

    以此实现抓包,范强两不误。

    觉得不错点个小赞哦~🌹

  • 相关阅读:
    java的8种基本数据类型-附取值范围的计算逻辑
    Leetcode 206反转链表、3无重复字符的最长子串、912排序数组(快排)、215数组中的第k个最大元素、53最大子数组和、152乘积最大子数组
    拖拽页面元素+flip动画的案例
    Node.js 应用开发详解19 Serverless 的实践:进一步提升系统的稳定性
    公安机关警务vr综合实战模拟训练提高团队合作能力
    VirtualLab教程特辑
    模拟实现C语言--strlen函数
    Weblogic SSRF 漏洞(CVE-2014-4210)分析
    【报错记录】解决使用Kotlin写的SpringBoot项目使用Aspect切面无法生效的问题
    LDcad零件新增与导入
  • 原文地址:https://www.cnblogs.com/iovec/p/charles.html
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号