使用whistle魔改header参数的值
背景
whistle是一款非常优秀的http抓包工具,而且可以通过nodejs来安装,对mac等系统非常友好。其出现结束了window只能靠fiddler,而mac只能靠charles等历史。博主从14年开始使用mac电脑,日常开发也使用mac下的ide,而mac下的抓包依靠charles,为此博主还买了charles的正版注册码。
自从使用上whistle以后,博主完全忘了charles和fiddler的存在,可以想象whistle的魅力有多大。
whistle的功能
whistle是一款强大的代理工具,可以通过配置来改变请求参数(包括url)和返回的参数,而本文我将会给大家如何通过配置修改header的参数值。
总结下来,whistle提供的功能有:
- 修改url请求规则
- 修改请求参数,包括header头,param参数,post请求体
- 修改返回包,包括返回的header,返回的参数等
博主最喜欢的就是将https的请求链接改为http请求,在测试小程序等模块等时候特别有用。
更多功能可以参考官方文档:https://wproxy.org/whistle/
修改header参数步骤和注意事项
官方给出的配置规则是:
pattern headerReplace://req.header-name:pattern1=replacement1&pattern2=replacement2
pattern headerReplace://res.header-name:pattern3=replacement3
不熟悉whistle的朋友可能看到这些规则比较懵逼,接下来博主将会一一说明:
- pattern 为url的规则,也就是命中的url规则将会进行操作headerReplace。
- headerReplace 为替换命令。
- req 则是请求的header,res则是回复的header。
- header-name 要修改的header字段名。
- pattern1 字段值中的正则值。
- replacement1 将正则pattern1命中的字符串替换为replacement1。
注意:pattern1 需要使用/pattern1/括起来,不然规则上无法识别正则。
示例:
https://c.abc.cn/ http://172.168.xx.xx:8000/ headerReplace://req.token:/.*/=abc
解释:
- 将https://c.abc.cn/的所有请求前缀替换为http://172.168.xx.xx:8000/
- 将https://c.abc.cn/的所有请求的token的任意值(正则:.*,且使用//圈起来)替换为abc。
以上完成修改header参数的值。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭