远程登录编程问题?

Jonvy2016 2018-10-06 07:47:21
大家好:
我想做一个局域网内远程登录的软件,主要是想监控局域网内电脑的运行情况,如内存状况和磁盘剩余空间,日常工作系统管理需要,如果一台一台去查看,太浪费时间。
想做个软件,可以随时在办公室内查看。
但不知如何下手?
用过TCP/IP Socket做过数据传输,但没做过远程登录,请有经验的朋友分享一下该如何做?

多谢!
Jonvy
...全文
349 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jonvy2016 2018-10-25
  • 打赏
  • 举报
回复
谢谢各位的答复,我找到了一种更好的方法:直接编程调用Windows Powershell,省去了编客户端和服务器两套程序,也可通过Powershell直接获得远程电脑的信息。 但是还是感谢各位热心的答复!
mk_lucifer 2018-10-21
  • 打赏
  • 举报
回复
不用动态密码,只用公钥加密用户密码的情况,你可以将密码联通一段随机文本一起发送,由于加密,即使拦截,每次拦截到的内容也不一样,无法确定密码,然后服务器解密只用有效部分作为密码即刻。。
mk_lucifer 2018-10-21
  • 打赏
  • 举报
回复
用户名密码登陆基本流程
客户端 连接TCP-> 生成一组密钥 ->MD5加密用户密码(不加密可以省去这两名部,但会有被拦截获知密码的风险)->向服务器发送用户名密码->等待验证通过 ->通过则开始你的业务,不通过提示用户名密码错误。
服务器 很简单,TCP侦听通讯前加一段密码验证程序
服务器 AcceptSocketOK-> 读取用户+密码的数据包->生成一组密钥->MD5加密数据库中存的对应的用户密码->对比密码的密文正确性->正确则开启指定服务。。不正确返回错误报文,关闭连接。。

断开重连,则客户端电脑自动使用未注销的用户名密码,进行连接即刻。。。修改密码需要用可以进行加密解密的的算法,比如RSA算法,当然你也可以不加密,直接发送,服务器修改数据库。。


mk_lucifer 2018-10-21
  • 打赏
  • 举报
回复
远程登陆,常用的是用户密码登陆,证书登陆,通信加密也有很多种可选,这些东西都是有现成的框架让你用,源码也会提供归你,所以不要重复做轮子。。。现在互联网这么发到,只要是电脑和电脑之间。。很多框架你只要进行通讯配置,包括,负载,通讯安全相关的属性配置,就能完成你想要的东西,到底是走udp ,p2p,http,tcp只是个配置行为,不用写代码,你要写的就是业务层的,tcp能吃么??(根本不需要直到那么多),即使是工业通讯系统也有OPC服务。。。重复造轮子,既不安全,性能也难保证。。。


非要自己来,如果是证书认证登陆,那么方法就是要传递签名证书认证,这东西有办法可以保证考到其他电脑上无效,送给你你都登陆不上,这个你需要学习一下RSA证书签名的原理之类的。。。如果是用户名密码登陆,通常是最简单的是将密码进行动态的MD5加密传输防止(客户端和服务器用一个统一的离线方法,计算加密密钥同一时间总是计算出相同的密钥,类似魔兽世界的手机密保),然后通过MD5加密传输。。
lyhoo163 2018-10-09
  • 打赏
  • 举报
回复
这要做二个程序:被监控端和接收端。如同楼上所说,监控端定时将数据向和接收端发送。
至于什么方式,除了UDP外,还有很多 。。。。。
SupermanTm 2018-10-08
  • 打赏
  • 举报
回复
做成个服务安装在每一台机器上,侦听一个UDP端口,你需要查询的时候就广播一个UDP包,客户机就回应UDP包把数据上传上来就可以了

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧