博客
关于我
「docker实战篇」python的docker爬虫技术-mitmproxy之安卓模拟器mitmdump(11)
阅读量:367 次
发布时间:2019-03-04

本文共 1361 字,大约阅读时间需要 4 分钟。

mitmdump与Python脚本交互:简单而实用的网络抓取与分析工具

mitmdump 是 mitmproxy 中的一个非常重要的组件。它的独特之处在于能够与 Python 脚本进行交互,这对于网络抓取和数据分析来说无疑是一个非常强大的工具。

mitmdump 的启动与配置

要使用 mitmdump,首先需要了解它的基本启动方式。默认情况下,mitmdump 会在端口 8080 上监听。你可以通过以下命令启动 mitmdump:

mitmdump

如果你需要指定特定的端口,可以使用 -p 选项:

mitmdump -p 8889

mitmdump 与 Python 脚本交互

当你需要更复杂的网络抓取和数据分析时,mitmdump 可以与 Python 脚本结合使用。你可以通过以下方式指定 Python 脚本:

mitmdump -p 8889 -s test.py

这将允许 mitmdump 将截获的网络流量传递给 test.py 脚本进行处理。

编写 Python 脚本

为了实现 mitmdump 与 Python 脚本的交互,你需要在脚本中导入 mitmproxy 的相关模块,并定义适当的函数来处理请求和响应。以下是一个简单的示例:

from mitmproxy import ctxdef request(flow):    ctx.log.info("请求地址:%s" % flow.request.url)    ctx.log.info("请求方法:%s" % flow.request.method)def response(flow):    ctx.log.info("响应状态码:%s" % flow.response.status_code)    ctx.log.info("响应内容:%s" % flow.response.text)

这个脚本会帮助你跟踪和分析网络请求和响应。

mitmproxy 的按键操作

mitmproxy 提供了一系列按键操作,方便你快速完成常用任务。以下是常用的按键及其作用:

按键 说明
q 退出当前界面
d 删除当前请求
D 恢复刚才删除的请求
G 跳到最近一个请求
g 跳到第一个请求
C 清空控制台
i 输入要拦截的文件或域名(注意:逗号需用转义字符)
a 放行当前请求
A 放行所有请求
? 查看帮助信息
↑↓ 上下移动光标
enter 查看光标所在列的内容
tab 切换到 Request 或 Response 的详细信息
/ 搜索 body 中的内容
esc 退出编辑模式
e 进入编辑模式

使用 mitmdump 截获数据

如果你需要将截获的数据保存到文件中,可以使用以下命令:

mitmdump -w outfile

这将将截获的数据保存到 outfile 文件中。

mitmdump 的高级用法

当你对 mitmdump 有了更深入的使用需求时,可以尝试以下命令:

mitmdump -s script.py

这将允许你将截获的数据传递给你的 Python 脚本进行处理。


mitmdump 实际上并不难使用,关键在于如何编写合适的 Python 脚本。通过灵活配置和扩展,你可以根据自己的需求构建出一个高效的网络抓取与分析系统。

转载地址:http://fope.baihongyu.com/

你可能感兴趣的文章
Python基础——MySQL数据库基本操作
查看>>
Python基础_列表 list
查看>>
python系列【仅供参考】:python异步库调用gevent和asyncio对比
查看>>
python基础3
查看>>
Python基础08 面向对象的基本概念
查看>>
python系列【仅供参考】:python二进制转10进制
查看>>
Python基础-函数篇
查看>>
python基础---->常用模块
查看>>
Python基础(2):控制结构
查看>>
Python基础 | 关于“循环”那些事
查看>>
python系列【仅供参考】:python之subprocess模块rsync拉取文件
查看>>
python系列【仅供参考】:python 远程rdp
查看>>
python基础
查看>>
Python基本语法与变量类型
查看>>
python基本数据类型(容器)- tuple list dict set
查看>>
python基本工资的调整方案_Python薪资又涨了!这可咋办!
查看>>
Python基准测试和性能分析内存管理和垃圾回收
查看>>
Python基于RESTful风格的接口自动化测试实战
查看>>
python基于flask搭建http服务(四)—— Docker容器化部署
查看>>
python基于flask搭建http服务(二)—— 实现Excel上传、数据清洗、入库
查看>>