Android-HTTP的几种抓包方法
2015-02-20 / modified at 2022-08-29 / 607 words / 2 mins
️This article has been over 2 years since the last update.
本文介绍常见基于劫持等抓包方案
如果你想干如下的事情
- 学习到成熟的API设计
- 学习WebView中优雅的CSS,比如夜间模式,屏幕适配
- 看看BAT系列软件在后台流氓了什么
看看蹭网的人都在干什么
那么这篇文章就适合你哦,本文目录如下
- 抓包环境
- 基于mitmproxy的调试
- 基于Chrome的调试(WebView Only)
- 基于OpenWRT的调试
抓包环境
本文对Unix操作基础有一定的要求,但是用熟悉了操作也不错哦
- 手机 CM Kitkat
- 电脑 OSX Yosemite
- 它们都在一个路由内网环境下
基于mitmproxy的调试
mitmproxy是一款运行在电脑上的proxy软件,它只抓HTTP(S)协议的包,用起来比tcpdump好用多了。
配置mitmproxy
以MacOS为例,安装mitmproxy
1 | brew install python |
其中代理服务器需要填写8864,网页版为8081
大部分程序,甚至是微博/百度这种级别的程序
- 均无条件信任系统的根证书,而不是用自己的信任链
- 没有进行私有加密(提高逆向难度)或者二次签名(防篡改/重放),基本上全部为明文json
做的比较好的是H司的各种应用,看来被攻击的比较惨。微众银行做的有点丢人,工商银行做的非常完备。
#基于Chrome的调试(WebView Only)
此方法挑手机,挑chrome,挑操作系统,而且与代码是否开启调试有关,成功率不是很高。
手机(Kitkat以上)连接电脑(需要fq环境),打开chrome
1 | chrome://inspect/#devices |
手机打开任意一个APP,比如简书,就可以调试偷点CSS了,我们可以发现简书的WebView里面既有JQuery又有大片的CSS,怪不得打开慢,流量坑。
基于OpenWRT的调试
基于OpenWRT路由器的调试需要有一定的Linux的基础,这个电脑手机电视什么的都可以抓,甚至可以开一个钓鱼热点抓包分析,这个相比于第一个抓包,难度更大,但是抓的东西更多,不限于HTTP协议。
1 | opkg update |
tcpdump比较复杂,一般保持为pcap的格式,可以用Wireshark打开,我们就一笔带过吧,有兴趣去专门的路由器论坛讨论。