首先列出相关参考资料,本文也是基本上这几个链接的文章融合总结来的:
mitmproxy——中间人攻击的神器
python环境筹建
win7、linux安装使用pip、mitmproxy
How To: Use mitmproxy to read and modify HTTPS traffic
如何调试 Android 上 HTTP(S) 流量
mitmproxy实践教程之调试 Android 上 HTTP流量
废话不多说,直接上步骤:
(一)安装配置python环境并安装mitmproxy:
ubuntu12.04默认的配置好的python2.7.3直接能用,但是python的环境貌似不能用,当时LZ就是因为此处偷懒,才导致后边浪费了将近一天时间安装pillow(安装mitmproxy中的一步),因此此处提醒一定要重新配以下环境
先检查一下python版本,在命令行直接输python即可,如没装就自己装一下,这个网上比较多,可参考本文开头链接
1. 环境准备
centos:(这一步是红帽的,不用执行,只用执行下边ubuntu的)
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers sqlite-devel libaio libaio-devel
ubuntu:
sudo apt-get install autoconf
sudo apt-get install curl
sudo apt-get install libmysqld-dev
sudo apt-get install libaio-dev #安装mysql需要
sudo apt-get install libjpeg62-dev
sudo apt-get install libpng12-dev
sudo apt-get install libfreetype6-dev
sudo apt-get install libssl-dev
sudo apt-get install zlib1g-dev
下面两个lib经测试也需要安装,否则会出现错误:
sudo apt-get install libmysqld-dev
sudo apt-get install python-dev
sudo apt-get install build-essential
sudo apt-get install python-setuptools
ubuntu14.04要装:
sudo apt-get install libssl-dev libffi-dev
2.安装pip
由于python2.7.3没有包含pip,所以需要手动安装,可以用pip -V检查是否装了pip,没有则安装:
下载 https://bootstrap.pypa.io/get-pip.py (随便找个地方另存为就行,然后跳到get-pip.py所在目录下)
Collecting pip Downloading pip-6.0.6-py2.py3-none-any.whl (1.3MB) 100% |################################| 1.3MB 74kB/s ta 0:00:011 Collecting setuptools Downloading setuptools-12.0.4-py2.py3-none-any.whl (502kB) 100% |################################| 503kB 117kB/s ta 0:00:01 Installing collected packages: setuptools, pip Successfully installed pip-6.0.6 setuptools-12.0.4
3.安装mitmproxy依赖包
sudo pip install netlib pyopenssl pyasn1 urwid lxml flask
#下面是可选(为了解码用)sudo pip install pyamf protobuf
#下面是可选(为了测试用)sudo pip install nose pathod countershape
4.安装mitmproxy
sudo pip install mitmproxy
安装成功后会在生成两个工具/usr/local/bin/mitmproxy与/usr/local/bin/mitmdump
(二)用mitmproxy监控android数据包
1.启动mitmproxy
mitmproxy-b192.168.0.104-p9527 (其中IP为我的电脑IP地址,端口随意)
代理已经在运行,你可以开始拦截网络流量了。接下来你就需要配置Android手机,将所有的流量都重定向到之前命令里设置的代理服务器地址上去(IP_ADDR + PORT)。
2.Android代理设置
现在我们需要在Android手机上进行代理配置。具体步骤如下:如果要禁用代理同理。现在Android端的设置就大功告成了。
\
然后android访问网络就能在linux下实时抓取数据包,点进某个数据包内容如下: