mitmproxy——抓取http、https
mitmproxy是一个支持HTTP和HTTPS的抓包程序,有类似Fiddler、Charles的功能。除了命令行形式的控制台,mitmproxy还有两个关联组件:mitmdump和mitmweb。
mitmdump:它是mitmproxy的命令行接口,利用它我们可以对接Python脚本,用Python实现监听后的处理。
mitmweb:它是一个Web程序,通过它我们可以清楚观察mitmproxy捕获的请求。
mitmproxy使用:
终端键入:
$ mitmproxy --listen-host 电脑IP地址 -p 端口号
出现初始界面
手机连上手动代理后出现抓包信息
很好用的教程:https://greenrobot.me/devpost/how-to-debug-android-http-get-started/
这样就能使用mitmproxy抓到http请求了!
但是!这时会发现mitmproxy不仅抓不到https请求,而且还会阻断https请求!
解决办法:
启动mitmproxy之后,手机网页搜索mitm.it选择匹配的证书下载安装之后就能抓到https的请求了~
虽然只用了一句话就解决这个问题了,但是我试了好久~哭唧唧~这个mitm.it我尝试了好多次才能正常访问~不知道咋回事~
终于弄出来了,给自己呱唧呱唧!
接下来的问题就是,怎样能把想要的信息打印出来?
mitmdump提供了专门的日志输出功能,可以设定不同级别以不同颜色输出结果。ctx模块有log功能,调用不同的输出方法就可以输出不同颜色的结果,以方便我们做调试。
简单的尝试一下:
- from mitmproxy import ctx
- def request(flow):
- flow.request.headers['User-Agent'] = 'MitmProxy'
- ctx.log.info(str(flow.request.headers))
- flow.request.query["who"] = "baby!"
- ctx.log.warn(str(flow.request.query))
- ctx.log.error(str(flow.request.headers))
敲好用的良心教程:https://juejin.im/entry/5b3473b7e51d4558cf6e9abe
mitmproxy——抓取http、https的更多相关文章
- fiddler抓取手机https请求详解
前言: Fiddler是在 windows下常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析,fiddler默认只能抓取http请求,需要配置和 ...
- Jmeter Web 性能测试入门 (二):Fiddler 抓取 http/https 请求
jmeter自带了拦截request的功能,并且也有对应的tool:badboy 可以用.但由于我经常做移动端的项目,个人还是习惯用fiddler来收集request. 官网下载并安装Fiddler ...
- charles之抓取浏览器https请求
用charles抓取浏览器https的包时,请求显示为unknown,且请求和响应数据乱码,本篇介绍如何抓取正常响应的https请求 目录 1.安装charles 2.安装证书.添加域名 3.抓包 1 ...
- 使用wireshark 抓取 http https tcp ip 协议进行学习
使用wireshark 抓取 http https tcp ip 协议进行学习 前言 本节使用wireshark工具抓包学习tcp ip http 协议 1. tcp 1.1 tcp三次握手在wire ...
- charles 抓取app https 请求
测试需要抓取app的https请求链接,百度了一下教程,能设置的都设置成功了,但就是抓取不成功,显示如下图 无奈之下还是用谷歌搜索了下(网速极慢),但是庆幸的找到了问题的答案,原因还是手机设置的问 打 ...
- 如何抓取基于https协议的webservice数据包
方法一:基于Fiddler2等第三方工具(需要在Java端禁用SSL安全检查) 原文拷贝自http://blog.csdn.net/zmxj/article/details/6327775,向原作者表 ...
- python 抓取request信息,各种cookie,user-agent类的信息,只调试到http可以抓取,https貌似不行。
import pcap # 安装的是pypcap,本博客有安装方法,不过也比较乱,试试吧.import dpktimport socketimport datetime def sniffer(str ...
- Fiddler抓取手机Https请求
下载并安装Fiddler证书生成器 1.打开Fiddler—>Tools—>Telerik Fiddler Options... 2.Connections选项中勾选Allow remot ...
- Charles抓取手机https请求
1.下载Charles工具,3.92破解版:http://pan.baidu.com/s/1cko2L4 密码:chmy 2.安装SSL证书,默认安装就可以 3.证书安装成功后,点击详细信息--> ...
随机推荐
- [IBM]掌握Ajax,Ajax中的高级请求和响应
掌握 Ajax, Ajax 中的高级请求和响应 http://www.ibm.com/developerworks/cn/xml/wa-ajaxintro1.html http://www.ibm.c ...
- MySQL Explain详解(转)
explain SELECT a.* FROM test a,(select id from test where level_id <=4 order by aa_id limit 24300 ...
- Poj1218_THE DRUNK JAILER(水题)
一.Description A certain prison contains a long hall of n cells, each right next to each other. Each ...
- u-boot向linux内核传递启动参数
U-BOOT 在启动内核时,会向内核传递一些参数.BootLoader 可以通过两种方法传递参数给内核,一种是旧的参数结构方式(parameter_struct),主要是 2.6 之前的内核使用的方式 ...
- Ruby中print、p、puts的区别
三个方法的作用都是将一个字符串打印到控制台 比较项目 puts print p 换行符 末尾添加换行符 末尾不加换行符 末尾添加换行符 非字符串对象的输出 调用该对象的to_s方法 ...
- 转载:IntelliJ IDEA 2016.2 配置Tomcat 运行Web项目
以前都用MyEclipse写程序的 突然用了IDEA各种不习惯的说 借鉴了很多网上好的配置办法,感谢各位大神~ 前期准备 IDEA.JDK.Tomcat请先在自己电脑上装好 好么~ 博客图片为主 请多 ...
- ObservableCollection和List的区别总结
一.继承的类和接口,还有它们的方法不同 1)ObservableCollection比较简单,继承了Collection, INotifyCollectionChanged, INotifyPrope ...
- MyBatis构建sql时动态传入表名以及字段名
今天项目需要用到动态表名,找到这一篇文章,亲测可用 用了mybatis很长一段时间了,但是感觉用的都是比较基本的功能,很多mybatis相对ibatis的新功能都没怎么用过.比如其内置的注解功能之类的 ...
- Flask11 Session、CSRF、注销session、利用端点自动跳转
1 怎么对存储的cookie数据进行加密 利用response对象去设置cookie时,存储到浏览器中的cookie数据都是明文的,容易被一些计算机爱好者利用:利用session存的cookie数据可 ...
- uva 10934 Dropping water balloons
你有k个一模一样的水球,在一个n层楼的建筑物上进行测试,你想知道水球最低从几层楼往下丢可以让水球破掉.由于你很懒,所以你想要丢最少次水球来测出水球刚好破掉的最低楼层.(在最糟情况下,水球在顶楼也不会破 ...