解决爬虫们的大部分障碍——mitmproxy使用初探

作者&投稿:舌博 (若有异议请与网页底部的电邮联系)
~

mitmtproxy即mitm+proxy,顾名思义是中间人攻击加代理。用于中间人攻击的代理首先会向正常代理一样转发请求,保障服务器与客户端的通信,其次,会适时的查、记录截获的数据或 篡改数据 ,引发服务端和客户端的特定行为。

mitmproxy可以利用python实现高度定制脚本。因为mitmproxy工作在http层,现在的绝大部分的https拥有检测并规避中间人攻击的能力,所以mitmproxy工作时必须忽略浏览器的SSL证书或让其主动信任。由于此工具具有一定的黑产性质,使用时注意有所规范。

mitmproxy有三种启动命令,分别是mitmproxy,mitmdump,mitmweb,三个命令都会启动软件,区别在于交互界面的不同。

mitmproxy没有window,再次略过。

mitmdump启动后在后台默默运行,实用性不强,也略过。

mitmweb启动后,在8081端口开一个窗口,形如:

[图片上传失败...(image-369edf-1541148099114)]

接下来就是启动chrome,不过启动要设置代理,并忽略证书错误,命令行如下

上述工作完成后就可以开发自定义脚本了,这才是mitmproxy真正强大的地方。方法有两个:

1.编写一个 py 文件供 mitmproxy 加载,文件中定义了若干函数,这些函数实现了某些 mitmproxy 提供的事件,mitmproxy 会在某个事件发生时调用对应的函数。

2.编写一个 py 文件供 mitmproxy 加载,文件定义了变量 addons,addons 是个数组,每个元素是一个类实例,这些类有若干方法,这些方法实现了某些 mitmproxy 提供的事件,mitmproxy 会在某个事件发生时调用对应的方法。

推荐使用第二种方法。

事实上考虑到mitmproxy的实际使用场景,大多数情况下我们只会用到针对HTTP生命周期的几个事件。只会用到http_connect/request/response三个时间就能完成大多数需求了。

详细使用还在研究中。敬请期待。




解决爬虫们的大部分障碍——mitmproxy使用初探
mitmproxy可以利用python实现高度定制脚本。因为mitmproxy工作在http层,现在的绝大部分的https拥有检测并规避中间人攻击的能力,所以mitmproxy工作时必须忽略浏览器的SSL证书或让其主动信任。由于此工具具有一定的黑产性质,使用时注意有所规范。mitmproxy有三种启动命令,分别是mitmproxy,mitmdump,mitmweb,三个命令...

python就业薪资大概多少?
Python开发人才近几年一直呈现出供不应求的趋势,开发人员的薪资也是非常不错的,从职友集统计数据可以看到,北京Python开发工程师平均月薪高达19280元\/月,并且随着工作经验的不断积累,职业路径发展和晋升都是呈现不断上升的,所以只要大家学好专业技能,将来的就业前景还是十分可观的。下面数据来自职友集...

python把爬到的数据放到数据库(python爬虫怎么把爬的数据写进文件里...
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放...

求变形金刚所有角色介绍
1.凯德·伊格尔 凯德·伊格尔是一位机械发明家,他通常看起来很冷静,面对任何危机情况都处变不惊,维护地球他将不惜生命的代价,自从伊莎贝拉进入他的生活,凯德必须承担起作为她父母的责任,保护和照顾。2.伊莎贝拉 伊莎贝拉是个天才机械少女,从小在寄养家庭长大,童年时的不幸使她失去了家庭成为孤儿。一...

这是什么乌龟
【红耳巴西龟】,很容易养,水过背即可(不要直接用自来水,自来水要晾晒几天后再取用上部分)。此龟杂食性,平时可以喂它吃小鱼小虾、鲜肉等。龟头没有红耳就是珍珠龟。花龟之一。跟巴西龟习性差不多。

服务器异常怎么办
因此,我们只要保留的是服务器最基本的功能就可以了,声卡一般都是默认禁止的。我们不会用到很多功能,也不需要很多的端口支持。这时候,我们就关掉一些不必要的、风险大的端口,例如3389、80等端口,用修改注册表的方式将其设置成不特殊的秘密端口,这样可以消除服务器端口的安全隐患。

五大赛道、八位专家,银行局中人眼里的AI江湖
一个典型例子就是银行信贷风控:现在大部分AI应用都由数据驱动,信贷风控更需要大量数据训练,但大额贷款风控的案例又非常少。“要是来做深度学习模型,只用少量这种大额贷款的样本远远不够。”杨强解释。 小数据需要“聚沙成塔”,同时又面临侵犯隐私的可能。为此,网络安全与数据合规领域的立法进入了快车道,滥用数据和爬虫...

大数据培训需要多长时间?难不难学
大数据培训学习时间一般是在4个月-5个月,每家机构有所不同,难易程度也不同,根据每个人的基础不同可能会有所差别。如需大数据培训推荐选择【达内教育】。大数据是一项比较复杂的编程语言,学习大数据开发是需要一定的编程基础,而且大数据是综合性比较高的编程语言,零基础学习大数据是比较困难,可以选择...

求大虐的古代言情小说!
染血的年少过往,是他积极去埋藏的部分 唯独将陶家那彷佛背上有对翅膀的天使烙进脑海 长老们安排的佳人莫不被他俊美的外表「煞」到 但均遭他拒绝。难道他下意识为天使守身如玉? 美丽得像戴着面具的她打破了他不近女色的禁忌 对他主动「把」女人的举动,麒麟们更是瞠目结舌 殊不知她的小鸟依人全是为了伺机置...

网站的服务器和空间是什么?对于网站优化该如何选择比较好
1.从理论来说,服务器可以解析无数个子域名;空间只有部分功能强大的才会有该功能,而且支持数量有限。2.服务器的安全性能做的比空间强大很多,很多做黑帽seo的想要寻找网站漏洞,破解空间是非常容易的。3.总体价格上,会比空间还便宜,除了个别价格特低的香港或海外空间。二、如何选择一个利于优化的空间...

醴陵市17192963153: 求网络爬虫参考文献 -
始冯卡司: 主题网络32313133353236313431303231363533e4b893e5b19e31333238653934爬虫研究综述 摘要: 首先给出了主题网络爬虫的定义和研究目标; 然后系统分析了近年来国内外主题爬虫的研究方法和技 术, 包括基于文字内容的方法、基于...

醴陵市17192963153: 如何解决爬虫的IP地址受限问题 -
始冯卡司: 一些网站为控制流量和防止受到攻击,设置了单ip一分钟内允许的最大请求数是很正常的.您在网上找到的使用代理来解决ip受限的问题,在大多数情况下确实是可行的. 之所以说是大多数,是因为您使用ip代理来发出的http请求其实已经被黑客...

醴陵市17192963153: 如何处理python爬虫ip被封 -
始冯卡司: 从程序本身是无法解决的.可以试一下以下方式:(1)伪装消息头,伪装成浏览器,使用urllib.request.build_opener添加User-agent消息头,示例如下:addheaders = [('User-agent','Mozilla/5.0 (SymbianOS/9.3; Series60/3.2 NokiaE72-1/021.021...

醴陵市17192963153: 如何解决爬虫ip被封的问题 -
始冯卡司: 如果已经被封,一般有两种方法,自动解封和手动解封 根据封IP的策略不同,一般大部分都是过一段时间会自动解封,但也有永久加入黑名单的,这种只能联系网站主办方申请解封(一般不会有人理) 不能解封就只能换IP 没有被封之前,可以通过增加IP地址池中IP地址的数量、降低访问频率、伪造真实请求的随机性等方式避免被封

醴陵市17192963153: 如何解决百度爬虫无法爬取搭建在Github上的个人博客的问题 -
始冯卡司: 总结一下,解决办法:换供应商,这个方案不是很靠谱,github 还是很好用的 让 github 改,这个也很难 利用 CDN 加速 ,这个方案可行!Github是通过 UA 来判定百度爬虫并返回 403 Forbidden 的.而百度爬虫的 UA 一般是这样的:Mozilla/5会 ...

醴陵市17192963153: python爬虫,遇到403 forbidden,求助 -
始冯卡司: 遇到这种情况一般是爬虫被网站发现而禁止了,在这种情况下就要考虑爬取策略,一般有以下几种方法,从简单到容易: 1. 设置ua 2. 添加requests的headers,如refer,content length等 3. 添加cookie 4. 爬取过于频繁,每爬完一个网页sleep一段时间,一般1-5秒,越长越不容易被检测出来,也可以考虑sleep随机的时间 5. 终极大杀招,模拟浏览器,selenium工具 具体方法自行google

醴陵市17192963153: 网络爬虫在爬取网页时,响应头没有编码信息...如何解决保存在本地的乱码问题? -
始冯卡司: 你这个问题实际就是浏览器是如何解码的!1. 大部分网页在header 都给定了编码方式的,否则浏览器也无法判断是什么编码2. 默认使用GBK 的编码,中文网站大部分都是用的这个编码方式,兼容英文

醴陵市17192963153: python爬虫多线程假死怎么解决 -
始冯卡司: 如果是爬虫的话,这个一般都是由于网络原因造成的卡住,可以做两层控制:在HTTP请求上设置好超时时间,最好设定sockect的超时,这样更底层一些.在上层做一个检测机制,定时轮询线程是否正常,如果遇到不响应的直接kill掉.

醴陵市17192963153: 有什么好的办法解决爬虫中很容易遇到的用 javascript 编写的网页... -
始冯卡司: 这个爬虫跟JS关系不大,直接看Network,看发出的网络请求,分析每个URL,找出规律,然后用程序来模拟这样的请求,首先要善于用Chrome的Network功能

醴陵市17192963153: 什么是网络爬虫以及怎么做它? -
始冯卡司: 网络爬虫:是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁,自动索引,模拟程序或者蠕虫.做法:传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网