wireshark 手机抓包_美团外卖抓包分析

前言

博客:http://2h0n9.com

分析

1、Charles抓包

一开始爬 美团外卖App 我是直接Charles上手就干的,但我抓了一天都没抓到有用的数据我就开始找资料,遗憾的是网上没有一篇关于 美团外卖App 抓包分析的文章,我是真的一篇都没看到(这里指的是移动app,不是网页)

不过好在在我查找资料的过程也并非无任何收获,我得知美团使用了一种叫 "移动长连接" 的技术导致我抓不到包;

接着我在网上找了关于该名词的解释以及mt发表的一篇文章:移动网络优化实践,用我所理解的话来说就是:打开APP的时候移动端和服务器建立起tcp连接后,这个连接就不断开了,后续的请求和接收都走该通道,这个tcp长连接一般都是会使用自定义的协议,而非http,所有普通的抓包软件都无法抓到这类请求(如有误请指正)

2、长连接分析

文章里有这么一段:“当TCP通道无法建立或者发生故障时,可以使用UDP面向无连接的特性提供另一条请求通道,或者绕过代理长连服务器之间向业务服务器发起HTTP公网请求”

eda10581f602465300951d66b8122c86.png

也就是说,美团为了以防万一提供了降级方案,正是因为这个方案给了我们机会,既然tcp通道发生故障会切换到http请求,那么只要让这个条件成立就好了。这个可以通过屏蔽ip实现,随即有了一个新问题,怎么找到这个ip。

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

3、ip筛选

>PC端

pc端的话用 wireshark 就完事了;

首先打开模拟器,然后打开wireshark,选择网卡就开始抓包了,然后打开美团外卖App,搜索一个关键字;

首先你搜索一个关键字肯定会得到很多结果,那么就可以断定返回的数据包应该比较大,而且根据上图还可以知道是加密过的,那么就很好找了,我这里找到了

6e99b6667b09f72d07710e6f6764118d.png

接着就是屏蔽它了,Linux直接用iptables就行,我没linux但我可以提供命令:

iptable -A INPUT -s ***.**.***.181 -j DROP #屏蔽

iptable -D INPUT -s ***.**.***.181 -j DROP #解除屏蔽

这命令可以在安卓上直接生效,linux可能需要 service iptables save 来生效

115e7512bd0d9d64d7cde94a4663907f.png

Mac下没有iptables可以用 pfctl,首先写规则

sudo vim /etc/pf.conf

d85c202650c09cb80cbd08c00b8e4ccd.png

然后使其生效

sudo pfctl -evf /etc/pf.conf

接着就可以直接用 Charles 抓包了

4600d22a22e033e767e28da93b06aec2.png

>Android

接下来我要说的是 Android 上,我抓mt是为了写爬虫,我在电脑上抓到了请求的连接但那些参数加密我需要hook,所以不得不在手机上弄,所以我就需要在手机上屏蔽ip。我先说在手机上抓长连接ip,目前手机上能抓tcp的除了tcpdump以外好像就只有 httpcanary 了,主要是它能显示请求的协议;

a5215b6fde76b79a385a1f5d8ba2bca6.png

找到ip后屏蔽即可,然后再次请求

22e4dcf225388717a2595cf74bf962cd.png

其中有一条80多k的请求,而且这个host之前没见过,点进去看response就得知成功了

d98f979c0d5d924af5598b9ac854c7bf.png

最后

就算你抓到了也没用,请求、POST参数一大堆,而且加密的有哪些还不太清楚,我试过直接照搬请求返回错误。。。所以你们慢慢分析或者等我下篇文章吧

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值