mitmproxy

How to redirect HTTPS traffic to local HTTP server using mitmproxy?

笑着哭i 提交于 2020-08-25 08:26:29
问题 I am trying to setup mitmproxy so that I can make a request from my browser to https://{my-domain} and have it return a response from my local server running at http://localhost:3000 instead, but I cannot get the https request to reach my local server. I see the debugging statements from mitmproxy. Also, I can get it working for http traffic, but not for https. I read the mitmproxy addon docs and api docs I've installed the cert and I can monitor https through the proxy. I'm using Mitmproxy:

python抓取抖音数据

不羁的心 提交于 2020-08-16 07:44:47
最近是出于兴趣,在网络上搜集了相关资料,实现了抓取抖音数据的流程,本内容只讲大致思路,具体的实现内容,csdn上有很多优秀的教程,在此我们也感谢先驱做出的贡献。 下方参考资料中,1号参考资料中通过模拟器实现的自动滑动效果,大家可以借鉴一下;2号参考资料通过简介的语言以及便捷的方式借鉴了数据抓取方式,我们可以直接参考2号参考资料抓取数据,亲测好用。 参考资料: (1)https://blog.csdn.net/z_ipython/article/details/100127954 (2)https://www.cnblogs.com/CYHISTW/p/11626990.html 思路: 1、采用 夜神模拟器 Android5 就行,里面安装 抖音 2、安装 python 环境,然后安装 mitmproxy 协议, 3、启动 mitmproxy 之后,在模拟器中配置好代理, 4、配置完代理之后,注意要用 模拟器 访问mitm.it网站, 下载android证书 ,然后手动 安装证书 5、证书安装完毕之后,基本上整体流程到这里就结束了,剩下的就是去按照自己的要求去 修改python脚本 ,按照要求来抓取对应的内容即可 来源: oschina 链接: https://my.oschina.net/u/4394685/blog/4327786

一篇文章教会你用Python抓取抖音app热点数据

北城余情 提交于 2020-08-11 01:08:40
今天给大家分享一篇简单的安卓app数据分析及抓取方法。以抖音为例,我们想要抓取抖音的热点榜数据。 要知道,这个数据是没有网页版的,只能从手机端下手。 首先我们要安装charles抓包APP数据,它是一款收费的抓包修改工具,易上手,数据请求容易控制,修改简单,抓取数据的开始暂停方便等优势,网上也有汉化版,下载地址为 http://www.zdfans.com/html/42074.html,一路默认安装就ok了。 安装完成后要设置代理,依次点击代理——代理设置。 然后在手机端设置代理,如下图所示: 在保证手机和电脑在同一局域网的情况下,代理服务器主机名设为电脑的ip地址,端口设为8888。 最后在电脑端和手机端分别安装证书。 电脑端安装方法:依次点击帮助——ssl代理——安装charles root证书 ,按下图进行安装。 手机端安装方式:帮助——ssl代理——在移动设备或远程浏览器上安装charles root证书。 再在模拟器浏览器中输入chls.pro/ssl,会自动下载手机端证书 最后再手机端依次点击设置——安全——从SD卡安装。 为证书命名,点击确认就安装成功了。 打开charles,然后打开抖音app的热点榜界面,在charles很容易就找到了数据接口,一次就返回了50条数据,如下图所示。 它的url信息如下图所示。 此接口只能返回这一时刻的热点数据,要想返回新的数据

How to continuously load a saved flow file from mitmproxy? (i.e. “follow”/-f the file)

这一生的挚爱 提交于 2020-08-10 19:18:16
问题 I've saved a file with the --save-stream-file ( save_stream_file ) option. Now I want to replay that as asked in my previous question, but I want it to continuously follow the saved "flow". How can I do that? This is a follow-up question of How to replay/show a saved flow in the console without triggering requests?. 回答1: After some asking I got around and this should do the trick: tail -f ./mitmproxy-flow.cap | mitmproxy --rfile - -n Thanks to @mhils! Though, at least for me, v5.2 currently

抓包工具mitmproxy环境配置使用(一)

戏子无情 提交于 2020-08-10 12:18:04
一、mitmproxy介绍 mitmproxy是一款开源的抓包工具,支持SSL的HTTP代理,它可以用于调试HTTP通信,发起中间人攻击等,还可以配合自定义python脚本使用,不同于 fiddler 或 wireshark 等抓包工具,mitmproxy 不仅可以截获请求帮助开发者查看、分析,更可以通过自定义脚本进行二次开发。 二、mitmproxy官网 https://www.mitmproxy.org 三、mitmproxy的特点: 快速拦截和修改HTTP流量 保存HTTP对话以供以后重播和分析 重播HTTP客户端和服务器 使用Python对HTTP流量进行脚本化更改 即时生成SSL拦截证书 四、下载win环境 mitmproxy安装包 五、安装包安装mitmproxy 1、默认点下一步去安装,记得最后1步要勾选Launch mitmproxy ui now 2、点Finish自动启动mitmproxy服务和mitmproxy web页面,可以看到端口号是8080 六、pip安装mitmproxy,确保有python环境 1、pip install mitmproxy安装依赖包 2、启动服务mitmweb -p 8989,设置端口为8989 3、访问http://127.0.0.1:8081/#/flows打开抓包页面 七、手机设置代理安装证书 1、查看当前电脑ip 192

仿最新BiliBili客户端(已开源)

烈酒焚心 提交于 2020-04-28 10:58:04
前言 该项目仿照B站的Android客户端进行开发,初衷是想学习流行的Android技术,但是没有数据资源。因为喜欢逛B站,而且B站的Android客户端又是Google推荐的MD设计规范,于是花了些时间研究B站的网络请求,最后成功搞定,与@Android_ZzT同学达成一致,合作开发这个模仿B站的练习项目。该项目在工作之余开发,所以更新时间不定。 前期准备 一、B站网络请求抓包 首先是对B站的网络请求进行抓包,环境是mac,开始尝试使用Charles,由于B站的网络请求大多为Https,Charles的证书设置总是不成功(没找到正确的打开方式),无法抓到Https的包,就放弃了。 这里推荐mitmproxy,是一款在github上托管的开源抓包工具。 官网地址:http://mitmproxy.org/ github地址:https://github.com/mitmproxy/mitmproxy 教程:使用mitmproxy进行移动端的HTTP抓包 Tips:Https抓包需要安装证书,大部分手机按照官方文档或是教程文章都可以成功安装,但是小米手机无法正常下载,官方文档中提到证书会放在~/.mitmproxy目录下,所以可以手动传到手机中进行安装。 在设置好证书和代理之后,我们就可以开始进行https抓包了,先打开app首页 观察mitmproxy并找到对应网络请求

使用selenium框架的Python爬虫被检测到的 解决方法

做~自己de王妃 提交于 2020-04-17 20:06:00
本人之前在做X宝,X评,X团的爬虫项目时,均遇到了获取cookies这个重要的问题,而获取cookies的前提是实现用户登录,登陆的过程就不赘述了,相信大家都遇到了滑块,滚动条等反爬手段,(本人用webdriver破解),可大厂的技术团队还是给了我们一个更难解决的问题,就是通过js给webdriver请求响应错误信息。那我们的思考路线就是如何让这个js文件功能作废,本人使用的方法是通过 mitmproxy 蔽掉识别 webdriver 标识符的 js 文件。 首先下载mitproxy,pip安装方法: pip install mitmproxy 基本使用方法: 给本机设置代理ip 127.0.0.1端口8001(为了让所有流量走mitmproxy)具体方法请百度。 2. 启动mitmproxy。 windows: mitmdump -p 8001 Linux: mitmproxy -p 8001 3. 打开chrome的开发者工具,找到目标网站是通过哪个js文件控制webdriver相应的, 如: 4. 开始写干扰脚本(DriverPass.py): import re from mitmproxy import ctx def response (flow): if '/js/yoda.' in flow.request.url: for webdriver_key in [

mitmdump replacement pattern construction

佐手、 提交于 2020-01-16 11:39:05
问题 I'm trying to specify replacements in mitmdump but am having trouble getting the syntax right. What I want to do is replace the entire path in a request with a fixed string. I've tried -R :~bq:/*:/example.html but that results in "Invalid filter pattern: ~bq" Any pointers? 回答1: Try to use ~q not ~bq as filter pattern. Because ~bq needs regex itself like ~bq regex . The error "Invalid filter pattern" is caused by using ~bq with regex part. More details https://github.com/mitmproxy/mitmproxy

How to capture HTTP request / response headers with mitmproxy?

浪尽此生 提交于 2020-01-01 03:30:13
问题 I have been able to capture the HTTP(s) traffic from a smartphone and also stored this traffic using mitmdump using the command mitmdump -w outfile This seems to dump the HTTP body along with the headers as well. I am interested in capturing only the headers, prefarably as a single csv row (or json string). How can I do that? 回答1: Yet another derived snippet based on previous responses and updated to python3: def response(flow): print("") print("="*50) #print("FOR: " + flow.request.url) print