我想用 Python 编写一个简单的 P2P RDP 客户端和服务器。
这就是我绘制草图的方式。
- 短时间截屏
- 压缩它们并发送到服务器应用程序
- 从服务器应用程序获取键盘、鼠标事件。将它们序列化并发送给客户端。客户端将反序列化它们并使用 SendInput 调用来反映它们
我需要知道的是
- Python 中是否存在 rdp 库可以用来简化我的工作?
- 如何使用 Python 从服务器操作员获取键盘或鼠标事件?
- 事件序列化的最简单的方法是什么?
- 如何测量 Mouseevent 的相对 X,Y 坐标?
- 您能提供任何易于理解的示例吗?
- 我听说的最后一个问题是,如果两个平台都使用 Microsoft 衍生操作系统,那么在 .net 中执行此操作会更容易。是真的吗?
我的客户端应用程序将在 Windows XP、Vista、7 上运行,服务器应用程序将在 Windows/Linux 上运行
如果我遗漏了什么,也请提及。
前段时间我写了一个叫做easyrfb https://hydra.geht.net/easyrfb/这也是基于python-vnc-查看器 https://python-vnc-viewer.googlecode.com/hg/,但我从未发表过。它并没有完全涵盖您所要求的内容,但非常相似。希望它可能有所帮助,现在可以在以下位置找到其中的部分内容http://Hydra.geht.net/easyrfb/ http://hydra.geht.net/easyrfb/
请注意,那里的文件并不总是处于工作状态,因为这些文件直接链接到我的工作副本。但我不经常编辑。
现在它也可以在 GitHub 上找到:https://github.com/hilbix/pyrfb/tree/easyrfb https://github.com/hilbix/pyrfb/tree/easyrfb
这就是它在我身边所做的事情:
- 连接到本地运行的 Xvnc(技术上任何 VNC 服务器都可以)
- 不断将当前屏幕内容写入高度压缩的test.jpg
- 某些网页使用 AJAX 抓取该信息并更新图像
- 该图像上的鼠标点击将作为鼠标点击转发到 VNC 服务器
- 可以使用表单模拟键盘输入
- 并且可以拍摄无损 PNG 屏幕截图
- 有一个edit.html可以根据PNG截图进行模糊匹配(称为模板)
- Shell 脚本可以检查此类模板是否匹配或等待它们匹配。
内部通信是使用 TCP、Unix-Sockets 和一些文件完成的,因此更改它并不困难,每个组件都在不同的位置运行:
- VNC 服务器(显示的屏幕)
-
rfbimg.py
(它执行 VNC -> 图像并提供控制.sock
)
- shell 脚本(如果需要,使用
sendsock.py
交谈.sock
)
- 网络服务(
AJAX
, and GET
图像)与存根(将命令转发到.sock
)
- 控制网络客户端(任何浏览器,甚至
lynx
or telnet
can do)
请不要向我索要文档!使用来源,卢克!
心理健康警告!完整的图片是一大堆丑陋的、不干净的、令人头疼的、捂脸的东西,创建了一些几乎不相关的随机放置的复杂脚本,这些脚本具有错误和误导性的名称、不干净的副本、未注释和未完成的半编辑,所有东西都硬编码到一台机器上,可能需要对未升级的软件包甚至旧的东西进行一些未记录的本地 10 年旧调整。所以我不会交出所有的东西。 (即使这听起来很熟悉,但不,我不是在微软工作。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)