欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 培训 > proxyman抓包Java中feign请求以及断点请求响应内容修改或流转到本地

proxyman抓包Java中feign请求以及断点请求响应内容修改或流转到本地

2025/12/19 1:43:25 来源:https://blog.csdn.net/weixin_34789114/article/details/145310034  浏览:    关键词:proxyman抓包Java中feign请求以及断点请求响应内容修改或流转到本地

proxyman抓包Java中feign请求以及断点请求响应内容修改或流转到本地

    • 配置流程
      • 第一步: 借助arthas配置请求代理
      • 第二步: 借助proxyman配置远程映射
      • 第三步: 借助SwitchHosts配置hosts域名
      • 最后: 借助ssh的LocalForward功能, 打通网络(这步网络不通才需要)

最近在修bug的过程中, 因为涉及到比较多的微服务, 有一些麻烦的bug, 调试代码需要经过多个或多层feign调用, 不方便针对性的对某个服务进行debug, 基本常规手段, 要么起一个服务, feign调用就只能走服务器, 要么就是多次提交临时代码并构建到开发环境中测试, 要么本地起多个微服务又和开发环境隔离, 要么不隔离共用nacos负载均衡的话, 又会影响测试同学测试功能, 而且在这个过程中也会消耗大量的时间, 也难以进入沉浸状态, 浪费时间和精力.

Proxyman 充当中间人服务器,捕获应用程序和 Web 服务器之间的流量。具有请求断点, 修改请求响应内容的功能.

配置流程

第一步: 借助arthas配置请求代理

这里需要借助arthas工具, 添加需要代理环境变量到需要调试的微服务中
在这里插入图片描述
mac电脑点击菜单栏能看到IP和端口, 也可以直接拷贝下来

# 连接arthas
telnet 127.0.0.1 18020# 设置 HTTP/HTTPS 代理
sysprop https.proxyHost 10.0.4.190
sysprop https.proxyPort 9091
sysprop http.proxyHost 10.0.4.190
sysprop http.proxyPort 9091# 验证
sysprop | grep proxy

到这一步就能看到feign请求了

在这里插入图片描述
不过现在因为我们feign client配置的是用的服务名, 所以, 我们本地电脑是访问不通的.

第二步: 借助proxyman配置远程映射

在这里插入图片描述

在这里插入图片描述
按照上图所示, 我们需要将域名(服务名)映射成hosts域名和端口

第三步: 借助SwitchHosts配置hosts域名

SwitchHosts地址
在这里插入图片描述

配置完hosts后, 就能够将请求重新走回开发环境了, 如下图所示.

在这里插入图片描述

到这基本就完成了相关配置, 但请求进来的时候就可以对请求进行断点并修改请求响应的内容了, 并且也能通过更换或添加远程映射的方式将feign请求到本地来

最后: 借助ssh的LocalForward功能, 打通网络(这步网络不通才需要)

我这边是直接用vscode工具, 习惯用这个

这一步的目的是, 在只能通过ssh访问的服务器中, 将服务端口代理到本地中来

在这里插入图片描述

  • 也有配置文件的方式

# 添加以下配置
Host aaa.internet.companyHostName 10.0.1.23User root# 通过指定的密钥免密登录IdentityFile ~/.ssh/id_ed25519_xxx# 将本地主机(192.168.2.88)的8000端口映射到远程主机(10.0.1.23)的8000端口, 相当于访问192.168.1.94:8000的流量都转发到10.0.0.23:8000上去# LocalForward <本地IP>:<本地端口> <远程IP>:<远程端口>LocalForward 192.168.2.88:8000 10.0.1.23:8000# 将远程主机(10.0.1.23)的9000端口映射到本地主机(192.168.2.88)的9000端口, 相当于访问10.0.0.23:9000的流量都转发到192.168.1.94:9000上去# RemoteForward <远程IP>:<远程端口> <本地IP>:<本地端口>RemoteForward 10.0.1.23:9000 192.168.2.88:9000
# 通过命令连接即可代理端口, 也非常简单
ssh aaa.internet.company

基本到这就基本讲完的差不多了, 也挺简单的, 个人用起来挺舒服的, 当然也还有些其他更多用途就自己去发掘了, 例如结合ssh的动态代理以及clashx去打通各种各样的复杂网络等各种玩法的结合使用.

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词