微信公众号应用抓包小讲

抓包就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,经常用来检查网络安全,数据截取等场景中.

我们在做手机应用开发和测试的时候,经常需要来监测、调试以及修改这个App向后端服务器发起的的API请求.在这种场景下,由于App并不能像PC的浏览器Chrome一样提供有开发者工具来捕获接口请求,所以我们需要一款抓包工具来做这样的事情.

而微信公众号应用的开发和测试也可以应用此方法来操作.

抓包工具有很多,比如 Windows 系统中经常使用的 Fiddler,Mac 电脑系统中经常使用的Charles.

可能某些童鞋有过使用这两个工具的经验,今天我来给大家简单介绍一下微信web开发者工具.它是微信官方为帮助开发者开发和调试基于微信的网页,而推出的工具。它是一个桌面应用,通过模拟微信客户端的表现,使得开发者可以使用这个工具方便地在 Windows 或者 Mac 上进行开发和调试.

安装

Windows 64位版本: https://mp.weixin.qq.com/debug/cgi-bin/webdebugger/download?from=mpwiki&os=x64

Windows 32位版本: https://mp.weixin.qq.com/debug/cgi-bin/webdebugger/download?from=mpwiki&os=x86

Mac版本:
https://mp.weixin.qq.com/debug/cgi-bin/webdebugger/download?from=mpwiki&os=darwin

支持 win7 及以上版本,支持OS X 10.8 及以上版本

大家可以根据自己的电脑系统下载不同的安装文件来安装此程序,装完之后打开此应用,第一次打开时需要使用微信扫码登录,如图1所示:

图1

成功登录之后将显示所示


图2

顶部菜单栏是刷新、后退、选中地址栏等动作的统一入口,以及微信客户端版本的模拟设置页。左侧是微信的界面模拟器,可以直接操作网页,模拟用户真实行为。右侧上方是地址栏,用于输入待调试的页面链接,以及清除缓存按钮。右侧下方是相关的请求和返回结果,以及调试界面和登录按钮。

此处我主要来介绍如何使用工具提供的移动调试功能来对公众号应用进行抓包,下述操作均以夜点娱乐公众号应用为例,诸位可以先在微信中关注此公众号.让我们切换到右侧地址栏下的移动调试页签,在此处诸位可以根据自己的手机设备来选择你使用的设备类型,并在调试方式处选择普通调试,如图3,图4所示

图3
图4

按照调试步骤操作完成之后,点击开始测试按钮,我们将开启一个新的窗体,如图5所示

图5

接着我们在微信中进入夜点娱乐公众号,点击左下角的立即预定菜单,接着我们回到刚才打开的图5窗体界面,并切换到Network 页签,此时我们将能看到一个列表页面,如图6所示

图6

此列表中显示的是该页面所加载的所有的请求数据,包括 js,css,图片,接口调用,第三方服务接口调用,最先请求的居于列表的最底层,,点击其中的任意一行,就能看到调用的请求地址,请求参数和响应结果,如图7,图8所示

图7
8.jpg

我们需要知道被测应用的服务域名当我们已知夜点娱乐的服务域名,此处为 letsktv.chinacloudapp.cn,那我们重点关注 host 是letsktv.chinacloudapp.cn的请求即可,也可以进一步过滤掉静态资源,诸如 js,css,图片文件的请求,专注于真实接口调用分析,如果找到我们需要的接口,简单的将其复制到文本编辑器即可,通常接口调用返回的格式是编码后的json字符串,可以使用 JSON在线格式化 来进行格式化查看.

此处给出调用/user/oauthlogin接口的例子

request

POST //user/oauthlogin HTTP/1.1
Host : letsktv.chinacloudapp.cn
content-length : 233
origin : http://letsktv.chinacloudapp.cn
user-agent : Mozilla/5.0 (Linux; Android 5.1.1; OPPO A53m Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile MQQBrowser/6.2 TBS/036555 Safari/537.36 MicroMessenger/6.3.22.821 NetType/WIFI Language/zh_CN
content-type : application/json;charset=UTF-8
accept : application/json, text/plain, */*
x-ktv-application-name : eec607d1f47c18c9160634fd0954da1a
x-requested-with : XMLHttpRequest
x-ktv-application-platform : 1
x-ktv-vendor-name : 1d55af1659424cf94d869e2580a11bf8
referer : http://letsktv.chinacloudapp.cn/dist/?
accept-encoding : gzip,deflate
accept-language : zh-CN,zh;q=0.8,en;q=0.6,zh-TW;q=0.4
cookie : PHPSESSID=t7gpbek7ks7vcnekre659iqo11; Hm_lvt_a9e84022ad4ba5c4e42b26942cda6755=1471361379,1471363668,1471400714,1471410707; Hm_lpvt_a9e84022ad4ba5c4e42b26942cda6755=1471410709
connection : keep-alive
request body

{"type":"wechat","openid":"okwyOwsZZhu7_3zIQNtfB9r3CKhE","display_name":"\u7275\u732a\u7684\u4ed3\u9f20","avatar_url":"http://wx.qlogo.cn/mmopen/JQpUg1oh5aelkvzXvcicURj0n4WzKJqBPr4RPjG6L9wyrKhGGKV1iaB4NJLod8Jn5y8ZCTCqIPED6l3av2iaEX3C88s1TaRLsA6/0"}

response header

HTTP/1.1 200
date : Wed, 17 Aug 2016 05:13:45 GMT
server : Apache
x-powered-by : PHP/5.5.9-1ubuntu4.11
expires : Thu, 19 Nov 1981 08:52:00 GMT
cache-control : no-store, no-cache, must-revalidate, post-check=0, pre-check=0
pragma : no-cache
set-cookie : PHPSESSID=t7gpbek7ks7vcnekre659iqo11; path=/PHPSESSID=6sla73q0tc68hgm962dkmskvr0; path=/
p3p : CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
access-control-allow-origin : *
access-control-allow-headers : Accept, Content-Type, X-KTV-Application-Name, X-KTV-Vendor-Name, X-KTV-Application-Platform, X-KTV-User-Token
content-length : 170
keep-alive : timeout=5, max=300
connection : Keep-Alive
content-type : application/json; charset=utf-8
response body

{"result":0,"msg":"\u7528\u6237okwyOwsZZhu7_3zIQNtfB9r3CKhE\u767b\u5f55\u6210\u529f","token":"6sla73q0tc68hgm962dkmskvr0","display_name":"\u7275\u732a\u7684\u4ed3\u9f20"}

今天的介绍就到这里了,如果诸位使用过程中有疑问,也可以找我,我们共同来学习.

谢谢诸位!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 223,126评论 6 520
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 95,421评论 3 400
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 169,941评论 0 366
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 60,294评论 1 300
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 69,295评论 6 398
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,874评论 1 314
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 41,285评论 3 424
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 40,249评论 0 277
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,760评论 1 321
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,840评论 3 343
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,973评论 1 354
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,631评论 5 351
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,315评论 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,797评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,926评论 1 275
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 49,431评论 3 379
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,982评论 2 361

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,348评论 25 707
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,720评论 18 139
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,281评论 11 349
  • 第二个画面同样始于一条花香满径的小路,远处有一栋质朴的徽派小房,五岳朝天的马头山墙在屋顶两侧静静耸立,好像在翘首以...
    补拙莫如勤LV阅读 534评论 2 2
  • 那是六月的纳木错,湖水清澈、空气透亮,阳光撒野。 我远离人群,独自走在湖边,潮水轻轻地拍打着岸边。潮来,我往后跳,...
    木登阅读 664评论 0 0