「docker实战篇」python的docker爬虫技术-mitmproxy之安卓模拟器mitmdump(11)
2019-05-17 20:30:06
李明
  • 访问次数: 375
  • 注册日期: 2018-07-09
  • 最后登录: 2019-08-08
原创文章,欢迎转载。转载请注明:转载自 IT人故事会 ,谢谢!原文链接地址: 「docker实战篇」python的docker爬虫技术-mitmproxy之安卓模拟器mitmdump(11)
本节主要一个特别重要的组件,mitmproxy中的mitmdump,为什么说它重要?因为它可以跟python脚本进行交互,是不是美滋滋!

v2-de0bd492f5360969c06569090ed60ff4_hd.p

如何进行交互
  • mitmdump的启动
默认的端口是8080

                  

                  
mitmdump

v2-86c0ab30807cf551a0b354776d0023e6_hd.p
  • mitmdump指定端口的启动
指定端口是8889

                

                
mitmdump -p 8889

v2-160cce621d512c6810447bd8e35bad66_hd.p
  • mitmdump指定python程序
指定端口和python程序

              

              
mitmdump -p 8889 -s test.py

v2-160cce621d512c6810447bd8e35bad66_hd.p
  • 编写python程序
必须要有def requet,对于夜神模拟器的证书配置上次都说过了。这次都不说了。

            

            
from mitmproxy import ctx #必须这么写有个request,有个response def request(flow): # print(flow.request.headers) #ctx.log.info(str(flow.request.headers)) #ctx.log.warn(str(flow.request.headers)) ctx.log.error(str(flow.request.url)) ctx.log.error(str(flow.request.method)) ctx.log.error(str(flow.request.path))def response(flow): ctx.log.error(str(flow.response.status_code))

v2-97b890f938d01b468745255ba0960e22_hd.p
  • mitmproxy 按键
按键说明q退出(相当于返回键,可一级一级返回)d删除当前(黄色箭头)指向的链接D恢复刚才删除的请求G跳到最新一个请求g跳到第一个请求C清空控制台(C是大写)i可输入需要拦截的文件或者域名(逗号需要用\来做转译,栗子:idig8.com)a放行请求A放行所有请求?查看界面帮助信息^ v上下箭头移动光标enter查看光标所在列的内容tab 分别查看Request 和 Response 的详细信息/搜索body里的内容esc退出编辑e进入编辑模式
使用命令启动mitmdump ,并将截获的数据保存到指定文件中

          

          
mitmdump -w outfile
使用指定命令截获的数据,如指定处理脚本文件为script.py.

          

          
mitmdump -s script.py
PS:mitmdump 其实不太复杂,重要是写python脚本。

v2-2e3b781738d3b70b0422947db80b99b2_hd.p