![68dbac847618fa5c31533652164f1499.png](https://i-blog.csdnimg.cn/blog_migrate/ba502b3f3371c835da0b4faa5fc288e9.jpeg)
上次说了fiddler的抓包和参数介绍,通过fiddler抓包工具可以完成app和web端的数据,这次介绍另一款抓包公司mitmproxy,可以和python语言结合通过爬虫抓取数据。
源码: https:// github.com/limingios/ne tFuture/blob/master/mitmproxy/
![e976bc1780dd988ab084ddfac99914d4.png](https://i-blog.csdnimg.cn/blog_migrate/ab99f6d9c14d3ea48d9e99d59c2d2e74.jpeg)
mitmproxy
- 官方
https://www. mitmproxy.org/
![bd2aa1df10263b65fcf67f9ea02b97ad.png](https://i-blog.csdnimg.cn/blog_migrate/33b87de196bb76b67eb7e92b03842d2e.jpeg)
- 介绍
mitmproxy is a free and open source interactive HTTPS proxy.
![4dbf49416e145112d9301b1e27023351.png](https://i-blog.csdnimg.cn/blog_migrate/245d1de2c32ba25bb9bab7725b224c90.jpeg)
mitmproxy 就是用于MITM的proxy
中间人攻击(Man-in-the-MiddleAttack,简称“MITM攻击”)是一种“间接”的入侵攻击,这种攻击模式是通过各种技术手段将受入侵者控制的一台计算机虚拟放置在网络连接中的两台通信计算机之间,这台计算机就称为“中间人”。
![e7ecfba59a8740643053d2cf4f459020.png](https://i-blog.csdnimg.cn/blog_migrate/4e168a5c6c80049631550e96ab66c1f8.jpeg)
- 正常的代理一样转发请求,保证服务端和客户端的通信
- 拦截请求,修改请求,拦截返回,修改返回
- 可以载入自定义的mitmproxy
- fiddler只能拦截请求,修改请求,篡改数据,但是不能载入自定义的mitmproxy
- 随着安全的要求,现在越来越多的网站使用https请求,特别是ios客户端要求必须服务端使用https,所以必须让客户端和服务端都信任中间人
- 请用:mitmproxy 做测试使用,请勿使用灰产哦!
安装
- 环境安装
感觉windows 太麻烦了,还是建议使用linux
- 基于pyhon
- windows操作系统需要安装Microsoft Visual C++ V14.0以上
- linux操作系统直接安装pyhon就可以了。
windows 安装
这里不做介绍了,真心没有linux好!
linux 安装
通过vagrant的方式安装虚拟机
系统类型IP地址用户CPUMemoryHostnameCentos7192.168.77.100root24Gmitmproxy
- 三台机器mac开通远程登录root用户下
#设置 PasswordAuthentication yes
vi /etc/ssh/sshd_config
sudo systemctl restart sshd
![7dbb41cf6ba39296e23b0805aec8f79d.png](https://i-blog.csdnimg.cn/blog_migrate/ce826e4bbca135d051e5785bef6623fe.jpeg)
- 修改dns
# 修改配置文件
vi /etc/resolv.conf
# 修改成:
nameserver 8.8.8.8
search localdomain
- 修改网络
service network restart
- 安装wget和pip3
yum -y install wget
wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb
tar -zxvf pip-8.0.2.tar.gz
cd pip-8.0.2
python3.6 setup.py build
python3.6 setup.py install
![a156461666ac62bad9695fc98df1561f.png](https://i-blog.csdnimg.cn/blog_migrate/fe440c5cee64ee860ed723a00aab11cf.jpeg)
安装mitmproxy
- 安装mitmproxy
#安装python3.6的devel
yum install python36-devel
yum install gcc libffi-devel openssl-devel -y
# 升级pip3
pip3 install --upgrade pip
# 安装 mitmproxy
pip3 install mitmproxy
![41ac013a837f72e38ea194c2bc7273ea.png](https://i-blog.csdnimg.cn/blog_migrate/192a6a77e2942510e051a9abdf4fb46a.png)
![9641a23ac550eb0e0179e4115d0a8375.png](https://i-blog.csdnimg.cn/blog_migrate/f920cbc9d11e8529d65a9ba956f6f208.jpeg)
- 查看mitmproxy的版本
mitmproxy --version
mitmdump --version
mitmweb --version
![6c3ab88d2821cd962343e1b1848a6aff.png](https://i-blog.csdnimg.cn/blog_migrate/424fc8e229a7ac8c2d12a2c572dd4da8.jpeg)
mitmproxy的使用
- mitmproxy
安装好了mitmproxy 直接查看,直接输入mitmproxy,默认端口是8080,
mitmproxy
![0d585b31ec5dd006885ff3b90375bdb2.png](https://i-blog.csdnimg.cn/blog_migrate/011cad44f776245dbc3149b61f93ee38.jpeg)
打开google浏览器的插件switchyOmega
![bd3b8c3664d3e7fa43d9db043c74fb5c.png](https://i-blog.csdnimg.cn/blog_migrate/2a99a7017f549182c43419139952e356.jpeg)
访问baidu提示,需要安装证书哦看来
![0dff9a38e6f6f44e8e2ebd46fb650b72.png](https://i-blog.csdnimg.cn/blog_migrate/bf6417566780e55bb8789f81e29b9021.jpeg)
如何安装mitmproxy的证书,浏览器输入mitm.it,根据自己的操作系统选择要安装的地址:mac,windows,android,other
![4945be1e69aeeafebdb9b989e5488010.png](https://i-blog.csdnimg.cn/blog_migrate/8531f3dbf19a15339a36547d324e7fc1.jpeg)
演示windows下安装证书
![883da4112cfc318a877186f5b9271c53.png](https://i-blog.csdnimg.cn/blog_migrate/57b323357cf54a28bc399a31523c3bc6.jpeg)
双击证书
![707d8a6f67181f13090a878a5ddcba9d.png](https://i-blog.csdnimg.cn/blog_migrate/57f83de127dc52d76cb3672fd3db8500.jpeg)
![7fa2df188338a9231342da0e3d77793a.png](https://i-blog.csdnimg.cn/blog_migrate/acdc8045014b0e8fe9b46b10d12bc625.jpeg)
不用输入密码
![5651ef9a0792b00d95f910de984ff2ab.png](https://i-blog.csdnimg.cn/blog_migrate/1b4be7ac9b63af17fb82414b02c34481.jpeg)
讲所有的证书都放入下列存储
![793b16a8103310e62f2745e6b95ce186.png](https://i-blog.csdnimg.cn/blog_migrate/64268c196727c2686110aafae05f2960.jpeg)
![72b10f823731b2bacbb7787314fef263.png](https://i-blog.csdnimg.cn/blog_migrate/0b0bd66b07d635624f7d6fe2804832f5.jpeg)
![0ac4e906fbf12b45b0c537af84c0b791.png](https://i-blog.csdnimg.cn/blog_migrate/d8e25ae4757e3ba41b34ac3d28f494d0.jpeg)
![a8f03b33fb0e0153dd40490660365462.png](https://i-blog.csdnimg.cn/blog_migrate/afabb80b42f0fbb5dea2c8d68d57bad7.jpeg)
![71774cdf89e54c90f6dba3edb4a26b27.png](https://i-blog.csdnimg.cn/blog_migrate/89b72b711c370bdfbda37c64ba118ef1.jpeg)
![3ac479599b115561ea01f04ff466b578.png](https://i-blog.csdnimg.cn/blog_migrate/fb2c8d315df4dcf037f6875f8bf34482.jpeg)
![0fae3f007fa4d6779598cae56edfbcdd.png](https://i-blog.csdnimg.cn/blog_migrate/7bd14f2b306f68403e26788c2a3b09f6.jpeg)
浏览器关闭重新打开
- 已经可以打开了
![12e3ec2f78eceba0c06e81a294ac4003.png](https://i-blog.csdnimg.cn/blog_migrate/4c8217a5d182e257c657f4fb4f79d0be.jpeg)
查看mitm的界面
- 列表界面
![5ae9184b8d1d3f7beeea44de19512816.png](https://i-blog.csdnimg.cn/blog_migrate/b975567321eb95c27a1a8c5ddf619905.jpeg)
- 键盘选择
点击键盘回车,进入
![9e97638140156bde46369029a6f64ac3.png](https://i-blog.csdnimg.cn/blog_migrate/3e33b23194c4802d2e048018cd077e99.jpeg)
进入后,里面分为request,repsonse,detail
![7cc1f1e5d5dfec3cb2ee3cd9a785f86a.png](https://i-blog.csdnimg.cn/blog_migrate/28d679ae08432b39602ede95647c5efb.jpeg)
退出esc,然后输入q 返回列表
进入列表后,输入f键
![0c8209e7274a5ed23985c87bd8821835.png](https://i-blog.csdnimg.cn/blog_migrate/1a0904e93d03b8152ec21160ff7a2a35.jpeg)
查看mitmproxy的三大组件
- mitmproxy
上边介绍了 不在详细说了。
- mitmdump
#记录的请求都放入指定的文件夹下
mitmdump -w 文件路径
![784584f1bd9286dad6bd206c5fa602de.png](https://i-blog.csdnimg.cn/blog_migrate/75382752fe4661d573c7e89b5fc94f84.jpeg)
![7b049f246f62e21adbfb3af5de9f6f72.png](https://i-blog.csdnimg.cn/blog_migrate/5578d20adbcac637eab0268ae6ba7569.png)
- mitmweb
这个windows查看比较方便。访问 http:// 127.0.0.1:8081
mitmweb
![82433baf4864589066fd902a780f19f5.png](https://i-blog.csdnimg.cn/blog_migrate/46ac1bdf5e3624614ad0451daa966b66.jpeg)
![942485142049dbfaeb67eb8bed8540ff.png](https://i-blog.csdnimg.cn/blog_migrate/5a4e64128fd108de4a47500c231c828a.jpeg)
![519cc694425d90687c2a7f9a0bf2e735.png](https://i-blog.csdnimg.cn/blog_migrate/bbde15a4ad02499e4e51f85782de889c.jpeg)
PS:更多mitmproxy后续强大的功能,在后续的实践中,咱们一起详解吧。实现出真知。