python的docker爬虫技术-mitmproxy之安卓模拟器mitmdump(11)

原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
原文链接地址:「docker实战篇」python的docker爬虫技术-mitmproxy之安卓模拟器mitmdump(11)

成都创新互联长期为上千多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为武胜企业提供专业的网站设计、成都网站设计武胜网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。

本节主要一个特别重要的组件,mitmproxy中的mitmdump,为什么说它重要?因为它可以跟python脚本进行交互,是不是美滋滋!

python的docker爬虫技术-mitmproxy之安卓模拟器mitmdump(11)

如何进行交互
  • mitmdump的启动

    默认的端口是8080

mitmdump

python的docker爬虫技术-mitmproxy之安卓模拟器mitmdump(11)

  • mitmdump指定端口的启动

    指定端口是8889

mitmdump -p 8889

python的docker爬虫技术-mitmproxy之安卓模拟器mitmdump(11)

  • mitmdump指定python程序

    指定端口和python程序

mitmdump -p 8889 -s test.py

python的docker爬虫技术-mitmproxy之安卓模拟器mitmdump(11)

  • 编写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))

python的docker爬虫技术-mitmproxy之安卓模拟器mitmdump(11)

  • 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脚本。


本文名称:python的docker爬虫技术-mitmproxy之安卓模拟器mitmdump(11)
链接分享:http://scyanting.com/article/jopgpd.html