实现Charles+Postern抓包

本文详细介绍了如何在移动应用使用长连接时,利用Charles和Postern进行抓包。当App使用移动长连接技术,如在大众点评或美团系平台,Fiddler可能无法捕获包。移动长连接是一种TCP连接保持开放,通过自定义协议通信的方式。在长连接不可用时,App会切换到HTTP或UDP。通过hook或屏蔽IP,可以迫使App使用HTTP,从而进行抓包。文中给出了Charles的下载、安装、代理和SSL配置步骤,以及Postern的代理规则设置。最终,结合Charles和Postern,即使面对移动长连接,也能成功抓取HTTP请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现Charles+Postern抓包

在实际抓手机App包场景中,有很多种方案,经典的就是Fiddler,但是Fiddler会有一个问题,如果App设置了不走代理这个选项,那Fiddler就不行了,比如说大众点评,美团系的平台,使用了一种叫 “移动长连接” 的技术导致抓不到包,接下来对移动长连接进行一番剖析。
根据查询的资料,所谓移动长连接,指的是在app运行之初,通过tcp连接打开的一个连接通道,在app使用中,后续访问都通过此通道,自定义出交互协议进行通讯。不过美团的技术团队也考虑了在特殊情况下,长连接无法使用的情况,在这种时候,他们会执行第二套连接方案,即使用UDP面向无连接的特性提供另一条请求通道,或者绕过代理长连服务器之间向业务服务器发起HTTP公网请求。
以下是移动长连接的实现图:
在这里插入图片描述
换言之,就是在移动长连接无法使用的情况下,系统会接收来自http公网的请求,这便为我们抓包工作提供了可趁之机。
这样实现抓包就有了两种方式去实现,一个是通过hook手段,使长连接无法工作,继而只能通过http的方式发送,第二种就是tcp通道发生故障会切换到http请求。这个可以通过屏蔽ip来实现。

屏蔽ip途径

首先移动端长连接与服务器的通信肯定是TCP协议;然后由于是长连接,那么移动端肯定不会轻易的去断开这个连接,也就是不会发送fin包,有了这两个特征就可以开始筛选ip了。
pc端的话用 wireshark 就完事了;

除此之外,还可以通过设置全局代理,只转发http请求的方式,来让app弃用tcp通道。
下载postern.apk(google pay商店),设置全局代理,只转发http请求,再用charles抓取请求,即可发现http请求就被抓到了。
以下就是采用Charles+Postern的具体实现方式,希望对大家有所帮助!

Charles配置

下载

Charles下载地址:https://www.charlesproxy.com/download/
在这里插入图片描述

安装

下一步,下一步安装就好,安装完成后直接打开即可

设置代理

点击Porxy Settings

注意:此时我的Windows Proxy是去掉对勾的,表示不抓PC端
在这里插入图片描述
设置监听端口
在这里插入图片描述

配置SSL代理

点击SSL Proxying Settings

在这里插入图片描述
添加代理,*.*,*.4即可
在这里插入图片描述
到现在为止,Clarles就设置完毕

Postern

Postern并不是抓包工具,他是一个代理工具

它可以将http请求转为socket,并且包转发到Charles上,这样就可以抓到更多的包

在这里插入图片描述

配置代理规则

在这里插入图片描述

添加代理服务器
第一步.

在这里插入图片描述

第二步

在这里插入图片描述

配置规则

在这里插入图片描述

添加规则
第一步

在这里插入图片描述

第二步

在这里插入图片描述
如果Charles有提示出东西,一定要点击Allow

至此,咱们就是可以用charles+Postern进行抓包了
在这里插入图片描述
本页摘自 https://blog.youkuaiyun.com/tianyi19/article/details/121254560
https://www.cnblogs.com/badbear/p/14487750.html
如有侵权,请联系本人删除!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值