Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1459
  • 博文数量: 1
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 11
  • 用 户 组: 普通用户
  • 注册时间: 2015-01-23 19:42
文章分类

全部博文(1)

文章存档

2015年(1)

我的朋友
最近访客

分类: 网络与安全

2015-05-09 20:35:19

看了一段时间,对于远控软件原理,说些自己理解的概念。(以下说法,可能会在我学习新的知识之后,自己推翻,所以仅供交流


大部分的远控软件都支持强大的内网穿透功能,由于的经常需要在自己笔记本和学校机房电脑之间进行远控,所以我自己给电脑装了第三方的远控软件。不是使用windows自带的远程桌面连接,因为自带的远程桌面连接不支持内网穿透,从学校机房是可以连接我自己电脑,我可以自己在路由器上面做个端口映射。但如果反向的话,变无法连接。我先解释一下从学校机房电脑到自己笔记本的连接过程(便于阅读,本机简称为PCA,学校机房电脑为PCB):
1.使用PCB远程桌面连接输入PCA的IP地址,PCB会生成一个连接请求,发送给PCA.
2.由于PCB处于局域网内,所以请求数据包会发送给路由器,路由器会进行SNAT转换,发送给PCA的路由器,并在路由器上做记录(PCA也处于局域网内)。
3.当请求包到达PCA的路由器时,路由器首先会进行查询,查看是否设置端口映射(远程桌面端口默认为TCP3389),之后将转发给做了端口映射的PCA。
4.PCA在收到请求数据包后,进行验证,决定是否回应。若回应,则回复请求数据包。发送回复数据包给PCA的路由器。
5.PCA的路由器收到数据包也进行SNAT转换,之后发送回复数据包给PCB的路由器。
6.PCB的路由器在收到回复数据包后,进行本地记录比对,之后转发给PCB。
7.之后PCB通过收到PCB的路由器发来的回复数据包,验证此次请求成功,进行连接。

至此大概的连接过程解释已经结束。看起来顺风顺水的,PCB成功发起请求,PCA也成功回应请求,似乎并不需要第三方软件就能进行内网穿透。但是,重点在于如果要实现PCA向PCB做请求的话,会有一个端口映射问题。由于,学校服务器不可能为学生个人用户单独设置端口映射(这个会涉及到网络安全,不是本文要讨论的)。所以当该请求如果从PCA到PCB的时候,在请求数据包抵达PCB的路由器时,由于没有端口映射,路由器会直接丢弃该请求包(因为路由器不知道该把数据包转发给谁)。

现在说下,我认为对第三方远控软件实现原理的想法:
我认为是采取服务器转发机制,即在PCA和PCB中间架设一个服务器,由服务器来提供所有连接的请求与数据包的转发等功能。该方法还解决了动态IP的问题,因为一般用户都是采用拨号上网的方式,所获得的IP地址每次都是不一样的,而服务器IP地址一般是固定的,控制端可以发送请求数据包到服务器,由服务器通知受控端进行连接请求。
阅读(137) | 评论(0) | 转发(0) |
1

上一篇:没有了

下一篇:没有了

给主人留下些什么吧!~~