gpt4 book ai didi

c# - 如何通过 Socks5/SSH/HTTPS 隧道重定向应用程序的连接? SDK 的任何推荐来完成这样的任务?

转载 作者:太空宇宙 更新时间:2023-11-04 12:25:26 25 4
gpt4 key购买 nike

我需要通过 Socks5、SSH 或 HTTPS 隧道化应用程序建立的连接(主要是 TCP)。

到目前为止,我已经找到了 3 种方法来做到这一点:api hooks、winsock lsp 和驱动程序。

我正在寻找有关处理此问题的最佳方法的建议,以及任何可以为我抽象此任务的 SDK 的建议(首选免费/开源,但只要价格不高,也欢迎商业的一个人创办的公司负担得起)。

附言。我正在使用 .Net(C# 和-或 C++/CLI)

编辑:我无法控制目标应用程序。

最佳答案

作为一种直接的方式,您可以调用 plink命令行创建隧道,然后从您的应用程序连接到本地主机。 Plink 是 Putty 的命令行版本,您有很多选择,它是一个非常受欢迎、安全且经过测试的应用程序。

您有一个应用程序 ( SSH Tunnel Client ) 可以为您提供漂亮的 UI。它有点问题,但工作正常。

此示例将远程计算机中的端口 80 连接到本地主机的端口 8000。

plink.exe -L 127.0.0.1:8000:127.0.0.1:80 -C -pw 1234 -2  -l user myserver.com

我不推荐这种方法的是命令行包含密码并且很容易通过任何进程管理器看到,现在 plink 的好处是你有可用的源代码所以你可以将它集成到你的项目。

编辑

现在假设您的应用程序连接到“yahoo.com”以获取一些数据,您不能修改该应用程序但可以设置一个Man in the Middle。 .可以执行下一条命令:

plink.exe -L 127.0.0.1:80:google.com:80 -C -pw 1234 -2  -l user myserver.com

其中 myserver.com 是一个 SSH 服务器,它允许您建立隧道并可以访问 google.com现在以管理员身份转到 C:\windows\system32\drivers\etc\中的主机文件并添加下一个条目:

127.0.0.1 yahoo.com

您可以使用浏览器测试设置并导航至 yahoo.com,您将看到 google.com 页面。这看起来很简单,但真正的力量在于所有流量都通过 myserver.com。

一些优点是

  1. yahoo.com 的所有流量都是加密的
  2. 您可以使用此方法绕过代理限制
  3. 如果可以从外部连接到 myserver.com 所在的内网,则可以访问它
  4. 您可以记录或修改连接的数据

请注意,由于证书身份验证,此方法很可能会出现 HTTPS 连接问题。

关于c# - 如何通过 Socks5/SSH/HTTPS 隧道重定向应用程序的连接? SDK 的任何推荐来完成这样的任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2785584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com