文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
过滤表达式
过滤表达式
mitmproxy
工具中的许多命令都使用过滤器表达式。过滤器表达式由以下运算符组成:
命令 | 描述 |
---|---|
〜a | 匹配响应资源:CSS,Javascript,Flash,images。 |
〜b regex | Body |
〜bq regex | 请求的Body |
〜bs regex | 响应的Body |
〜c int | HTTP响应码 |
〜d regex | 域名 |
〜dst regex | 匹配目标地址 |
〜e | 匹配错误 |
〜h regex | Header |
〜hq regex | 请求Header |
〜hs regex | 响应Header |
〜http | 匹配HTTP流 |
〜m regex | 方法 |
〜marked | 匹配marked流 |
〜q | 匹配无响应请求 |
〜s | 匹配response响应 |
〜src regex | 匹配来源地址 |
〜t regex | Content-type header |
〜tcp | 匹配TCP流 |
〜tq regex | 请求Content-Type Header |
〜ts regex | 响应Content-Type Header |
〜u regex | 网址URL |
〜websocket | 匹配WebSocket流(和HTTP-WebSocket握手流) |
! | 一元非 |
& | 和 |
| | 或者 |
(...) | 分组 |
- regex是Python风格的
- 可以将 regex指定为带引号的字符串
- Header匹配(〜h,〜hq,〜hs)针对的是“name: value”形式的字符串。
- 没有运算符的字符串将与请求URL匹配。
- 默认的二进制运算符是&。
查看流选择器
在交互式上下文中,mitmproxy具有一组在当前视图上运行的便捷流选择器:
- @all 所有流量
- @focus 当前关注的流程
- @shown 当前显示的所有流
- @hidden 当前隐藏所有流
- @marked 所有标记的流
- @unmarked 所有未标记的流
这些经常在命令和键绑定中使用。
例子
包含“google.com”
的网址:
google\.com
请求的主体包含字符串“test”
:
~q ~b test
除了文字/ html内容类型的请求以外的所有内容:
!(~q & ~t "text/html")
替换请求中的整个GET
字符串(使它生效所需的引号):
':~q ~m GET:.*:/replacement.html'
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论