0202年了,你还不会用Charles抓包吗?

4,391 阅读2分钟

写在前面

这篇文章主要给大家介绍一下如何使用charles对App及PC端应用进行抓包

1.App抓包

  • 0."关掉电脑防火墙"
  • 1.手机与电脑连同一个wifi
  • 2.对手机所连WIFI设置HTTP代理(找到所连wifi,进入高级设置):
    • 代理服务器主机名(Proxy Hostname): 电脑IP
    • 代理服务器端口自(Proxy Port):Charles代理端口 (查看方法:Charles -> Proxy -> Proxy Settings -> Port)
  • 3.保持电脑上Charles处于打开状态
    • App抓包时必须关闭(不勾选) Windows Proxy: Proxy -> Windows Proxy
    • PC端抓包时必须开启(勾选) Windows Proxy: Proxy -> Windows Proxy
  • 4.安装证书

    安装证书时注意: (1)设置好手机HTTP代理 (2)电脑上Charles要打开

    • 电脑证书 在Charles客户端中:Help -> SSL Proxying -> Install Charles Root Certificate
    • 手机证书
      • ios: 在浏览器中访问 chls.pro/ssl
      • android: 在浏览器中访问 http://charlesproxy.com/getssl
  • 5.https抓包

    Proxy -> SSL Proxying Settings -> Enable SSL Proxying -> 添加要抓取的https请求的地址(或 *:*)

    1. 触发请求,即可在charles中看到请求详情

2.PC端抓包

    1. 勾选Windows Proxy: Proxy -> Windows Proxy
    1. 触发请求,即可在charles中看到请求详情

3.代理本地请求

在开发中,前端有时需要同时和多个后端联调,如果前端应用修改请求服务地址后需要重启应用,那么会很痛苦,使用charles代理本地请求则可以让你不再为之所困。

    1. 勾选Windows Proxy: Proxy -> Windows Proxy
    1. Tools -> Map Remote
        
        From:
            http
            localhost.charlesproxy.com
            9000
            /api/*
        
        To:
            http
            xx.xx.xx.xx 
            port(必填)
            <空>
            /api/
    
  • 3.浏览器打开: localhost.charlesproxy.com:9000
  • 4.触发请求,即可在charles中看到请求详情

写在最后

Charles 的功能很强大,还可以修改请求及响应,模拟慢速网络,简单地测试服务器的并发处理能力等,大家感兴趣的可以去研究下。