博客
关于我
「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 | Python动态代码执行:exec和compile函数
查看>>
python | Python反向迭代:reversed实现机制
查看>>
python | Python模块缓存:sys.modules机制
查看>>
python | Python集成学习和随机森林算法
查看>>
python | pytime,一个实用的 时间和日期处理 Python 库!
查看>>
python | pyupgrade,一个有趣的 Python 库!
查看>>
python | pyvips,一个神奇的 图像处理 Python 库
查看>>
Python | qutip,一个高级的 Python 库!
查看>>
python | rapidjson,一个实用的 提高JSON处理效率 Python 库!
查看>>
python | reflex,一个无敌的 Python 库!
查看>>
python | reloading,一个强大的 Python 库!
查看>>
python | rich,一个无敌的 Python 库!
查看>>
python | rlax,一个超强的 强化学习领域 Python 库!
查看>>
python | rpyc,一个超实用的 Python 库!
查看>>
python | rq,一个无敌的 关于Redis 的Python 库!
查看>>
python读取字符串指定位置字符_python要怎么截取指定位置的字符串呢?
查看>>
python | scikit-llm,一个神奇的 Python 库!
查看>>
python | sentry,一个超酷的 关于错误监控工具 Python 库!
查看>>
python | shiv,一个超酷的 打包工具 Python 库!
查看>>
python | six,一个神奇的 Python 库!
查看>>