C#开源之Windows远程控制系统SiMay

描述使用C#.Net开发的windows远程控制管理系统SiMay,底层基于IOCP的异步通信模型,实时监控海量客户端,目前功能已实现:逐行扫描远程桌面协助、经典的文件管理、实时远程语音、实时摄像头、经典注册表管理、命令行终端、实时系统进程管理、用户桌面视图墙轮播等功能 。并且可捕获UAC,WinLogon桌面 。系统实现了中间会话服务器,可支持不同平台多主控端同时监控同一被控端 。被控服务端支持绿色启动及以系统服务方式安装 。
技术相关

  • 组件式系统架构设计
  • 远程同步调用
  • 实体消息传输协议
  • 应用多连接会话支持
  • 可视区域逐行扫描算法的远程桌面
  • 中间会话服务转发,支持多个主控端同时实时监控
  • HOOK技术
  • WebSocket Web端监控
  • IOCP异步Socket高性能通信模型
  • 基于Windows WaInXX系列实现的语音通讯
  • 基于Dx组件捕获摄像头
参数来源:Gitee(851)
https://gitee.com/dotnetchina/SiMayRemoteMonitorOS
【C#开源之Windows远程控制系统SiMay】协议:AGPL-3.0
示例
  • 1.局域网
主控端:打开位与Bin目录下的主控端程序SiMayRemoteMonitor.exe,确认系统设置服务器地址为0.0.0.0(监听本机所有网卡),端口默认5200,使用会话模式为=本地服务器,然后保存配置重启程序, 重启后日志输出监听成功,即主控端设置正确 。
被控服务端创建:打开主控端-->创建客户-->地址输入本机物理地址(或127.0.0.1),端口设置为服务端监听端口(默认5200)-->点击连接测试检查配置是否正确-->创建服务端文件,服务端文件即为配置完成的被控端程序(如提示找不到文件,请检查被控服务程序是否存在[编译步骤是否正确]),双击运行被控服务程序即可在主控端看见服务在线信息,如主控端无在线信息,请检查上述步骤是否配置正确 。
  • 2.广域网
条件:需要主控端处于公网环境(或者设置路由内网映射、使用内网映射工具[如花生壳,内网通]),并且开放主控端监听端口(注意检查端口是否开放、防火墙通行规则) 。创建客户端-->被控服务端连接至主控端的公网地址,端口即可
  • 3.中间服务器部署
条件:需要中间服务器处于公网环境(建议部署在公网服务器,或者设置路由内网映射),并且开放中间服务器监听端口(默认522端口、注意检查端口是否开放、防火墙通行规则) 。
主控端设置: 系统设置-->会话服务器地址 输入 中间服务器的公网地址,端口 。-->设置会话模式为:中间会话模式-->确认AccessKey与中间服务器Accesskey一致 。(中间会话服务器系统设置位于标题栏系统菜单右键)-->创建客户端并选择会话模式为中间会话模式,ip,端输入中间服务器的公网地址即可
  • 4.Web端监控 编译SiMay.RemoteMonitor.Web.exe,Web服务为控制台形式无系统设置界面,可直接使用Windows控制端保存的系统配置文件SiMayConfig.ini,会话模式可使用服务器模式或者中间会话模式启动,启动成功后控制台打印监听成功或初始化成功字样即设置正确(服务器模式为监听成功,中间会话模式为初始化成功 及 WebSocket端口监听成功),如有被控端连接成功,控制台会实时打印上线连接信息,Web服务设置完成 。
上述Web服务设置完成后,下一步需要部署Web网站SiMay.WebRemoteMonitor,首先打开Index.html文件编辑WebSocket连接地址,指向Web服务的公网地址与端口即可 。
使用浏览器,访问SiMay.WebRemoteMonitor网站,页面弹出Id,Key输入框即表示与Web服务连接成功,输入SiMay.RemoteMonitorFor.Web.exe配置的账号密码即可登录,连接成功后页面可看到被控服务端计算机桌面视图,长按视图可打开更多功能 。
结尾一款可以同时控制多个远程客户端的开源C#远程工具 。性能效果及功能都非常强大 。




    推荐阅读