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

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

本节主要一个特别重要的组件,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)

上一篇:linux /dev/mapper/centos-root 被占满


下一篇:2018-2019-2 20175202实验四《Android程序设计》实验报告