本文已参与「新人创作礼」活动,一起开启掘金创作之路。
背景
这篇笔记是在网易工作期间写的,当时前端和后端紧密合作排查一个问题,需要抓取人民币钱包应用的token进行分析。 本篇不涉及圈圈应用的技术细节,且应用本身已经下线。主要是就技术操作进行说明。 另外现在前后端技术有融合的趋势,全栈工程师非常受欢迎,所以无论前端还是后端,“跨界”了解下对方的领域都是好事。
Fiddler和wireshark的区别
wireshark是所有的包都被抓下来,其Filter非常重要,过滤掉那些不需要的包
Fiddler是专门为前端开发而生的,使用体验很不错
安装使用
坑很多(我是在win10上安装的)
-
下载不用用搜狗或者国内野站上,都是病毒。直接去官网
https://www.telerik.com/download/fiddler/fiddler4 -
安装是安装到user目录,没有管理员权限问题
-
抓取时,连到同一个wifi,并查看手机的ip,从我笔记本上看看能否ping通手机(注意台式机不能抓取,因为ping不通)
-
打开Fiddler后,手机上设置wifi,代理主机是我笔记本wifi地址,端口8888
ubuntu上用fiddler,需要安装mono
mono 是啥? 一个本地的js执行器 看来fiddler用js写的 - Mono's ECMA-CLI native code generator (Just-in-Time and Ahead-of-Time)
Fiddler抓取设置
-
option-> setting -》 开启8888和allow remote connect
-
https解密支持也要打开 (会生成证书,一路yes就行)
实战抓取
我手机连上联想笔记本(笔记本上开了8888 Fiddler),手机登录圈圈,并进入钱包模块,抓取到如下token(要打开上面说的https解密)
104cf99a1f6a4141bfc7ae5e447aaeab
进入postman,用查用户接口进行查询 (注意是线上人民币环境)
select * from wallet_p_account where id=9912406 //查询到159手机对应的uuid是 85f1f4172516422a9fd7e0d2c7bd50dd
圈圈BIMA正式投产后监测.md 和之前我记录的是一致的