Java抓包工具fiddler实现请求转发

网友投稿 365 2022-08-14


Java抓包工具fiddler实现请求转发

目录场景1:单个请求转发将百度页面的logo改为搜索的logo场景2:测试环境请求转发到本地场景3:同个域名下所有请求转到另外个域名下场景4:根据前缀规则转发

Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件)。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。

场景1:单个请求转发将百度页面的logo改为搜索的logo

如上图,只需要在autoResponder中配置原地址和转发的地址即可实现请求转发。这只是一个小实验,由这个实验即可发现,在真实的场景中,可以实现测试环境到接口转发到本地。

场景2:测试环境请求转发到本地

在目前的真实开发中,发现测试环境或者生产环境BGiJDOFF前端数据解析正常,但是后端数据返回不对,这时有两个选择。

本地启动前端,然后修改后端代码,验证通过后提交。本地直接修改后端代码,简单测试后,提交到测试环境验证是否正确。

通过fiddler即可实现更简单的方式,本地启动后端服务,通过转发测试环境的接口到本地即可进行修改。通过autoResponder进行转发。如:

配置:http://baidu.com/user/getUserInfo

转发到:httphttp://://127.0.0.1:8080/user/getUserInfo

另外真实情况下,可能会出现,测试环境和本地环境用户token不一致问题。可设置http://转发时修改请求头和响应头

如上图,在Filters中设置请求头和响应头。

场景3:同个域名下所有请求转到另外个域名下

场景2中配置了单个接口的转发。fiddler工具中可非常方便的修改host文件,进行全局转发。

设置要转发的规则,直接保存即可生效。

场景4:根据前缀规则转发

123.com/user/* 转发到 127.0.0.1:8080/user/*

123的域名下的user为前缀的所有的请求转发到本地的8080端口。

通过正则进行配置,规则如下:

regex:(?inx)^http://123.com/user(?.+)$

*redir:http://127.0.0.1/user${name}

通过fiddlerScript实现更复杂的转发

真实的开发中,有多种多样的场景,fiddler基本的配置无法实现。可在fiddlerScript进行编码。里面代码很多,其实只是修改即可,非常简单。

static function OnBeforeRequest(oSession: Session) 意味请求前处理。

通过fiddlerScript实现场景3。代码如下:

// 打印当前请求的host

FiddlerObject.log("oSession.host :"+oSession.host );

// 判断host是否为*** 并且路径是否包含***

if(oSession.host == '131.424.131.23:1561' && oSession.url.Contains("/user/")){

//转发配置

oSession.host = '127.0.0.1:8080';

oSession.url = oSession.url.Replace("/user/", "/");

}

如上配置即可实现:131.424.131.23:1561/user/* 转发到 127.0.0.1:8080/*。

切记,设置完成之后要点击Save Script按钮,并且重启。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:idea设置JVM运行参数的几种方式
下一篇:一次线上websocket返回400问题排查的实战记录
相关文章

 发表评论

暂时没有评论,来抢沙发吧~