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

 更新时间:2022年04月12日 10:09:50   作者:叁滴水  
Fiddler是一个http协议调试代理工具,本文主要介绍了Java抓包工具fiddler实现请求转发,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

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

image-20220401152147417

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

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

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

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

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

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

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

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

image-20220401173841552

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

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

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

image-20220401174216153

image-20220401174254560

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

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

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

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

image-20220401174637440

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

regex:(?inx)^http://www.123.com/user(?<name>.+)$

*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按钮,并且重启。

到此这篇关于Java抓包工具fiddler实现请求转发的文章就介绍到这了,更多相关Java fiddler请求转发内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java定时任务的三种实现方法

    Java定时任务的三种实现方法

    在应用里经常都有用到在后台跑定时任务的需求。举个例子,比如需要在服务后台跑一个定时任务来进行垃圾回收
    2014-04-04
  • 详解MyBatisPlus逻辑删除与唯一索引冲突问题

    详解MyBatisPlus逻辑删除与唯一索引冲突问题

    这篇文章主要介绍了详解MyBatisPlus逻辑删除与唯一索引冲突问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • java实现打砖块游戏算法

    java实现打砖块游戏算法

    这篇文章主要为大家详细介绍了java实现打砖块游戏算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • 你应该知道的java中的5个注解

    你应该知道的java中的5个注解

    自Java5.0版本引入注解之后,它就成为了Java平台中非常重要的一部分。开发过程中,我们也时常在应用代码中会看到像@Override,@Deprecated这样的注解。下面小编和大家来一起学习一下吧
    2019-05-05
  • 128进制加密数据示例分享

    128进制加密数据示例分享

    这篇文章主要介绍了128进制加密数据示例,这里使用JAVA实现,需要的朋友可以参考下
    2014-03-03
  • 面试官问如何启动Java 线程

    面试官问如何启动Java 线程

    这篇文章主要介绍了面试官问如何启动Java 线程,Java 的线程创建和启动非常简单,但如果问一个线程是怎么启动起来的往往并不清楚,甚至不知道为什么启动时是调用start(),而不是调用run()方法呢?下面我们就一起进入文章学习这个问题吧
    2021-12-12
  • 避免Java中的内存泄漏的三种方法

    避免Java中的内存泄漏的三种方法

    在Java开发中,内存泄漏(Memory Leak)是一个常见但令人头疼的问题,本文将深入探讨什么是内存泄漏、常见的泄漏原因、如何识别和避免内存泄漏,以及通过代码示例展示如何优化Java程序以减少内存泄漏的发生,需要的朋友可以参考下
    2024-07-07
  • 详解Spring Security的Web应用和指纹登录实践

    详解Spring Security的Web应用和指纹登录实践

    这篇文章主要介绍了详解Spring Security的Web应用和指纹登录实践,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • SpringBoot实现发送电子邮件

    SpringBoot实现发送电子邮件

    这篇文章主要介绍了SpringBoot实现发送电子邮件,电子邮件是—种用电子手段提供信息交换的通信方式,是互联网应用最广的服务。通过网络的电子邮件系统,用户可以非常快速的方式,与世界上任何一个角落的网络用户联系,下面就来看看SpringBoot如何实现发送电子邮件吧
    2022-01-01
  • java高级应用:线程池的全面讲解(干货)

    java高级应用:线程池的全面讲解(干货)

    这篇文章主要介绍了java高级应用:线程池的全面讲解(干货),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02

最新评论