VNC 连接代理(RFB 协议服务器)

发布于 2024-12-02 22:46:18 字数 528 浏览 1 评论 0原文

请考虑以下场景:

  • VNC 客户端尝试与 NAT 后面的 VNC 服务器连接。

  • 我用java编写了一个端口转发器,它帮助我完成上述任务,并且工作正常。

  • 现在我需要以某种方式在此转发器中添加连接代理功能,以便我还可以拦截 VNC 客户端 - 服务器之间的通信,并在转发实用程序中对 VNC 客户端进行身份验证。

您可能已经猜到,实际上我正在使用从 VNC 客户端收到的密码在我的应用程序中进行某些身份验证。由于RFB服务器可以在应用层实现,我猜这种拦截是可能的...上述所有通信中都使用了VNCAuthentication(DES加密/解密)。在转发实用程序中成功进行身份验证后,我将让相应客户端继续转发,否则我可以将其关闭(停止转发)。

我尝试了一些实现,还尝试自定义 rfb 服务器的 java 实现...但仍然无法到达那里。我知道这需要一些时间,但需要确认我的想法是否正确。

如果上述场景的实现不明确、不可能或不合法,请告诉我,如果可能,请让我知道一些行规...

Please consider the following scenario:

  • VNC Client try to connect with a VNC Server which is behind a NAT.

  • I have written a port forwarder in java which help me achieving above task, and it works fine.

  • Now I need to, somehow, add a connection brokering functionality within this forwarder so that I can also intercept the communication between VNC Client – Server, and authenticate the VNC Client within the forwarding utility as well.

You may have guessed that actually I am using the password received from VNC Client for some authentication in my app. As the RFB Server can be implemented at application layer, I guess this interception is possible... VNCAuthentication (DES encryption/decryption) is used in all above communication. Upon successful authentication within the forwarding utility I shall just let the forwarding continue for that respective client, else I can close it (stop forwarding).

I have tried some implementation, also tried customizing a java implementation of rfb server... but still not able to get there. It will take some time, I know, but need to confirm if I am thinking straight.

Please let me know if the implementation of above scenario is ambiguous, not possible, or illegitimate and if this is possible, let me have some guild lines...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浅语花开 2024-12-09 22:46:18

这似乎是一个很好的实现。可以将其视为 VNC 代理,就像 HTTP(S) 代理一样。还有 HTTP 身份验证代理。您正在实现 VNC 协议的一部分来创建身份验证 VNC 代理。

也许您可以从现有的 Java VNC 代理 VNCProxy 中获得一些灵感。

This seems like a good implementation. Think of it like a VNC proxy, just like an HTTP(S) proxy. There are also HTTP authenticating proxies. You're implementing part of the VNC protocol to create an authenticating VNC proxy.

Maybe you can get some inspiration from VNCProxy, an existing Java VNC proxy.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文