Linux安装mitmproxy并监控android数据包

首先列出相关参考资料,本文也是基本上这几个链接的文章融合总结来的:

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所在目录下)

conan@conan-HP-Pro-3380-MT:~$ python 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手机上进行代理配置。具体步骤如下:
a.进入Android的Wi-Fi设置
b.长按当前连接的网络
c.选择“修改网络”选项
d.勾选“显示高级选项”
e.启用代理服务器并将代理设置为“手动”
f.输入之前设置好的的IP地址和端口。

如果要禁用代理同理。现在Android端的设置就大功告成了。

\

然后android访问网络就能在linux下实时抓取数据包,点进某个数据包内容如下:

Linux安装mitmproxy并监控android数据包_第1张图片

你可能感兴趣的:(android)