Web抓包分析工具 Rythem
Rythem是一个与Fiddler同类的软件,和Fiddler一样具有 代理抓包/替换 功能,与Fiddler最大的不同是Rythem是跨平台&开源的。
下载地址及源码:
- Windows绿色版: http://alloyteam.github.com/download/rythem0523.7z
- MacOS安装包: http://alloyteam.github.com/download/rythem0523.dmg
- Rythem以Qt为基础框架,你可以到github上获取其源代码:https://github.com/AlloyTeam/Rythem
以下为Rythem运行的截图:(MacOS与windows平台下略有不同)
Rythem目前已实现以下功能:
- http代理服务
- https tunnel透传(https抓包需求似乎不是很大,暂不实现)
- 规则替换
匹配模式包括`wildcard`类型及全匹配两种 以替换后内容区分有本地及远程两种。 本地替换有三种:目录式,单个文件式,多文件合并成一文件 远程替换暂时只支持一个文件对应一个远程路径
- host设置
- 替换规则远程及本地导入。
- 替换规则增删改。
- 颜色标记已被替换的请求
- 导入/导出 每条请求(兼容fiddler *.saz文件)
- 批量导出response body(可用于整站保存)
- 过滤显示请求
如何使用
1)Windows平台下,点击左上角“开始抓包”按钮(非Windows平台下手动将系统代理设为 127.0.0.1:8889)
2) 在Rythem右侧选中“替换规则”tab (见下图)
3) 在此tab下点击“添加本地分组”并填写分组名后点OK (见上图)
4) 点击刚建立的分组下的 + 号,在弹出的窗口中填入相应信息,这里以local File类规则为例:
如下图,规则意为:遇到 http://test.com/ 的请求 时返回replacement里指定的文件的内容 (replacement下的输入框可手动输入也可点其下的 -F 按钮选择。
5) 打开浏览器访问 http://test.com/ 得到以下效果:(本例中replacement被设为一个.h文件)
替换规则简介:
目前Rythem实现了五种规则:
1.单个请求对应单个文件替换
如上例
2.目录级别替换
例: pattern为: /myfolder/ replacement为 /my/path/
则访问 http://every.host.name/every/path/to/myfolder/subpath/everyfile.html 会被转到 /my/path/subpath/everyfile.html
3.Host替换
例 patern为 w.qq.com replacement为 127.0.0.1 效果等同于在hosts文件里设置 w.qq.com 127.0.0.1 (前提是访问者通过本代理软件访问)
4.远程内容替换(由于远程替换发现有严重bug,暂时屏蔽)
例pattern为: http://myhost.com/cgi/no/ready replacement为 http://myhost2.com/cgi/already/ready
则访问 http://myhost.com/cgi/no/ready 时,内容返回为 http://myhost2.com/cgi/already/ready 所返回的内容
5.单个请求对应多个文件组合替换
适用于多个js合并规则