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
2
3
4
brew install python
pip install mitmproxy
# 启动
mitmweb --listen-port 8864 --web-host 0.0.0.0

其中代理服务器需要填写8864,网页版为8081

大部分程序,甚至是微博/百度这种级别的程序

  • 均无条件信任系统的根证书,而不是用自己的信任链
  • 没有进行私有加密(提高逆向难度)或者二次签名(防篡改/重放),基本上全部为明文json

做的比较好的是H司的各种应用,看来被攻击的比较惨。微众银行做的有点丢人,工商银行做的非常完备。

#基于Chrome的调试(WebView Only)
此方法挑手机,挑chrome,挑操作系统,而且与代码是否开启调试有关,成功率不是很高。

手机(Kitkat以上)连接电脑(需要fq环境),打开chrome

1
chrome://inspect/#devices

手机打开任意一个APP,比如简书,就可以调试偷点CSS了,我们可以发现简书的WebView里面既有JQuery又有大片的CSS,怪不得打开慢,流量坑。

jianshu

基于OpenWRT的调试

基于OpenWRT路由器的调试需要有一定的Linux的基础,这个电脑手机电视什么的都可以抓,甚至可以开一个钓鱼热点抓包分析,这个相比于第一个抓包,难度更大,但是抓的东西更多,不限于HTTP协议。

1
2
opkg update
opkg install tcpdump

tcpdump比较复杂,一般保持为pcap的格式,可以用Wireshark打开,我们就一笔带过吧,有兴趣去专门的路由器论坛讨论。