V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
rollpard
V2EX  ›  iOS

如何用 Charles 抓 iOS 端 WebSocket 数据的包?

  •  
  •   rollpard · 2017-08-17 14:36:41 +08:00 · 22036 次点击
    这是一个创建于 2436 天前的主题,其中的信息可能已经有所发展或是发生改变。

    刚刚看到貌似 Charles 从 3.x 版本起就支持 WebSocket 的抓包了如果需要抓 iOS 端的 WebSocket 数据,需要如何设置呢?

    PS: iOS 端用的是 SocketRocket,服务器端是 Node ws

    7 条回复    2019-12-27 16:33:00 +08:00
    hackpro
        1
    hackpro  
       2017-08-18 03:39:54 +08:00
    Thor
    ginux
        2
    ginux  
       2017-08-18 19:47:49 +08:00
    和抓 http 是一样的,只要你这个版本支持
    rollpard
        3
    rollpard  
    OP
       2017-08-19 11:20:42 +08:00
    @ginux iOS 端设置 HTTP 代理就行了?我设置了,只能抓 HTTP 的请求啊,WebSocket 的抓不到啊
    qiuncheng
        4
    qiuncheng  
       2017-08-27 00:32:19 +08:00 via iPhone
    Port forward 貌似可以。没有试过 zzz
    luciferde
        5
    luciferde  
       2018-03-23 14:06:04 +08:00
    有谁成功了的吗 怎么设置啊
    foam
        6
    foam  
       2018-04-18 09:40:53 +08:00   ❤️ 6
    @luciferde
    1. Charles 设置捕获 SCOKS:Charles >> Proxy Settings >> 勾选 Enable SOCKS proxy, enable HTTP proxying over SOCKS (或者直接点击 SOCKS Proxy Mode 按钮)
    2. 客户端设置 SCOKS 代理到 Charles 的 SOCKS 监听端口。我安卓用的 Drony。iOS 应该也有方法通过 SOCKS(SOCK5 可以)代理到 Charles
    xForce
        7
    xForce  
       2019-12-27 16:33:00 +08:00

    @foam #6
    抓包成功, 但是因为 websocket 的特性, 导致包一致是追加状态, 也不适合分析;
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3484 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 04:48 · PVG 12:48 · LAX 21:48 · JFK 00:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.