【发布时间】:2020-10-01 18:24:47
【问题描述】:
我有一个企业案例,其中工作站可能会将 TCP 请求发送到多个已知目的地。例如:host1.domain.local:1234 和 host2.domain.local:1234。我需要在工作站上安装一个 .NET 客户端,该客户端在运行时会将这些目的地的流量重定向到其他端点。例如:myProxyHost1.domain.local:1234 和 myProxyHost2.domain.local:1234。我们正在考虑编辑 hosts 文件,但这感觉很笨拙,并且如果我们的客户端崩溃,可能会使系统处于肮脏状态。我们宁愿让我们的客户端监听这些端口并适当地重定向任何 TCP 流量。鉴于存在像 Fiddler 这样的产品,我希望这是可能的。如何在 C# 中重定向这样的流量?
【问题讨论】:
-
Fiddler 不 重定向 TCP 流量...它只是一个 HTTP 代理,需要 10 行代码开始(实际上还剩下数千行Fiddler 中的代码行数是它有用的原因,但普通的 HTTP 代理本身并没有太多代码)。
-
TCP和IP不知道域名,在应用层。
-
您需要一个双端口应用程序,它侦听一个 TCP 端口并转发到第二个 TCP 连接。应用程序打开侦听器的第一个端口。应用程序的第二个端口是连接到其他主机的客户端。
标签: c# .net networking tcp