请教一下,在 windows,这种网络功能如何实现?

201 天前
 troilus
有一个客户端程序,通过访问 https://a.com/list.json 来获取一个列别并使用其中的数据,我想让程序获取修改后的 list.json , 目前能实现的方法:

使用 fiddler 解密 https 流量,通过 netch 或者 proxifier 配置程序使用 fiddler 的代理,并使用 fiddler 篡改 json 的数据


这个方法每次使用比较麻烦,还有没有什么其他更方便的实现方式?

例如仅仅访问 https://a.com/list.json 的时候将请求转发到 127.0.0.1/list.json ?
1504 次点击
所在节点    问与答
10 条回复
ysc3839
201 天前
可能没有了,不然就用 mitmproxy 自己写代码实现
troilus
201 天前
之前还进行了一种方法的的尝试:使用 caddy 配合 python 在本地起了个 https 中转服务器,host 里配置 a.com 解析到 127.0.0.1 然后 python 里实现当访问特定网址时返回特定的数据
troilus
201 天前
@ysc3839 mitmproxy 还是需要配置程序的代理,主要是这步比较麻烦,想通过处理、篡改系统的全局流量来实现
ysc3839
201 天前
@troilus Proxifier 就能实现不配置代理拦截流量
Mithril
201 天前
这是两个问题:
1. 你要解决 HTTPS 流量的拦截和修改
2. 你要返回特定内容

修改 HTTPS 你需要在本地安装证书,返回特定内容实际上就是你说的两个办法。
如果在这个域名上只访问 a.com/list.json ,那你自己写个服务器返回内容就行了,然后改了 DNS 或者 HOST 把这个域名指向本地,再搭配你的证书就可以了
如果还要在这个域名上访问别的内容,那就只能用代理方法解决。
要么你自己在本地配个代理,过了 HTTPS 以后,只把这个路径的访问指向你刚才写的服务器。
要么直接在代理里面改,比如你用的 fiddler

你可以在 fiddler 里改脚本去返回修改过的 json
另外 fiddler 是 C#写的,你可以直接用 fiddler core ,自己套个 C#程序也不麻烦。然后在程序启动的时候自己写代码配代理就行了,省得你除了 fiddler 以外还得折腾个脚本。
wolfan
201 天前
ennnn
这个和 hosts 的功能是不是差不多的。
dearmymy
201 天前
不可以把 host 域名指向本地么
zeusho871
201 天前
拦截域名 如果有 https 认证的话 还是只能用 fd
kkk9
201 天前
上 ida 和 od ,直接找到对应位置改 a.com
PolarBears
201 天前
对客户端程序的 http 请求方法进行 hook,直接修改返回的数据

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1037502

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX