规约
HTTP/1.0和HTTP/1.1
RFC7230:HTTP/1.1:消息语法和路由 RFC7231:HTTP/1.1:语义和内容
mitmproxy对HTTP/1.0和HTTP/1.1的支持基于我们的自定义HTTP堆栈,该堆栈负责所有语义和在线解析/序列化任务。
mitmproxy当前不支持解析HTTP预告片-但是,如果您想向我们发送PR,我们承诺一定要看一下!
HTTP/2
mitmproxy中的HTTP/2支持基于 hyper-h2。它完全封装了HTTP/2连接的内部状态,并提供了一个易于使用的基于事件的API。mitmproxy支持大多数HTTP/2功能,并尝试透明地传递尽可能多的信息。
mitmproxy当前不支持HTTP/2明文(h2c),因为主要的浏览器供应商都没有实现它。
一些网站在其Web服务器中仍存在正确的HTTP/2支持问题,并且可能导致错误,连接断开或根本没有响应。我们正在尝试对我们发送和接收的数据类型尽可能地宽容和宽容,但是 一些 错误的 实现 根本不能与mitmproxy一起很好地工作。
为了提高mitmproxy与HTTP/2网络服务器的兼容性,我们默认不转发客户端发送的任何优先级信息。您可以使用启用它http2_priority=true。
WebSocket
RFC6455:WebSocket协议 RFC7692:WebSocket的压缩扩展
mitmproxy中的WebSocket支持基于wsproto项目。它完全封装了WebSocket框架/消息/连接,并提供了易于使用的基于事件的API。
mitmproxy完全支持wsproto提供的WebSocket消息的压缩扩展。触发事件之前,邮件内容会自动压缩和解压缩。
mitmproxy当前在控制台或Web UI中不显示WebSocket消息。仅显示WebSocket握手流,其中包含对通过此连接交换的所有消息的父流的引用。
如果端点将PING发送给mitmproxy,则PONG将立即发送回(如果存在,则具有相同的有效负载)。为了使另一个连接保持活动状态,新的PING(没有有效负载)被发送到另一个端点。未经请求的PONG不会转发。记录所有PING和PONG(如果存在有效载荷,则记录有效载荷)。
请注意,尚无法进行消息拦截,修改或重播。
原始TCP/TCP代理/Fallback
如果mitmproxy无法处理特定协议,则可以免除主机名的处理,以便mitmproxy充当通用TCP转发器。此功能与直通功能密切相关,但是在两个重要方面有所不同:
原始TCP消息将打印到事件日志中。 SSL连接将被拦截。 请注意,尚无法进行消息拦截,修改或重播。如果您对原始TCP消息不感兴趣,则应使用“忽略域”功能。
命令行别名 --tcp HOST
mitmproxy
快捷方式 按O
再T
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论