QQ远程协助是什么原理?

djlxue 2010-01-28 09:40:27
QQ远程协助是什么原理啊?
P2P吗?远程协助之间使用的是UDP,还是TCP?
如何实现?
...全文
7085 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
lincolnfz 2011-07-22
  • 打赏
  • 举报
回复
可以使用 vnc 这是个开源的项目。
benqiangchan 2011-07-21
  • 打赏
  • 举报
回复
让位于NAT后的两台主机都与处于公共地址空间的、众所周知的第三台服务器相连,然后,一旦NAT设备建立好UDP状态信息就转为直接通信,并寄希望于NAT设备会在分组其实是从另外一个主机传送过来的情况下仍然保持当前状态。
丁码农 2011-04-22
  • 打赏
  • 举报
回复
我做过测试,当DNS服务器地址无效的时候。QQ远程协助将不能使用,而teamview软件却可以照常工作。
bmmm520 2011-01-10
  • 打赏
  • 举报
回复
能不能用UDP打洞,TCP来传输数据呢
kingstarer 2010-01-29
  • 打赏
  • 举报
回复
通讯双方只要有一个是公网地址就行了
A非公网B公网
B发请求连接消息到服务器C
C转发给A
A主动连到B

如果双方都是非公网也可以,不过原理忘了 好像是使用NAT的一个特点
cnmumin 2010-01-29
  • 打赏
  • 举报
回复
。。。。。。。
udp打洞是udp
tcp打洞就是tcp了
你基础太差了
原理已经说的很明白了,第三方服务器做认证
djlxue 2010-01-29
  • 打赏
  • 举报
回复
我曾经做过测试,可以确定QQ的远程协助是TCP连接的,UDP挖洞是UDP连接,怎么才能TCP连接呢
飞狼兄 2010-01-29
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
Google vnc的源码!
xiejijun_05 2010-01-29
  • 打赏
  • 举报
回复
mark,
djlxue 2010-01-29
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 cnmumin 的回复:]
。。。。。。。
udp打洞是udp
tcp打洞就是tcp了
你基础太差了
原理已经说的很明白了,第三方服务器做认证
[/Quote]
请这位基础好的同学说说如何TCP打洞?不要自己才一知半解就攻击其他人……
djlxue 2010-01-29
  • 打赏
  • 举报
回复
远程控制的话TCP比较可靠,TCP的打洞有详细的说明嘛。UDP打洞我了解,也代码测试通过了
七十二寨寨主 2010-01-29
  • 打赏
  • 举报
回复
TCP,UDP都可以的,不过一般来说,像这种多媒体传输,UDP是比较常用的
楼主所说的 “没有独立的ip地址” ,我解释一下,NAT(网络地址映射)
路由器都有这功能,它把内网机器的 IP:端口, 映射成外网的 IP:端口。

但外网想通过路由访问内网的机器,路由是不同意的,这就要用到内网穿透,就是楼上各位说的“打洞”

TCP 和 UDP 都可以 打洞的,不过TCP比较麻烦

lihan6415151528 2010-01-29
  • 打赏
  • 举报
回复
到底是tcp还是UDP呢?
赵4老师 2010-01-29
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 stjay 的回复:]
说白了就是远程控制

一般木马都有此功能
[/Quote]
这个头像犯什么事儿了,被人揍成这样!(^_^)
Sou2012 2010-01-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 shiweifu 的回复:]
截图->压缩->传输

看过用7ZIP的压缩算法,能把4M的位图,压缩成1K。。(貌似是的)但比较占系统资源
所以屏幕传输就是对CPU占用和压缩率的折中
[/Quote]

不可能吧。。。。 没这么简单吧。。
kingstarer 2010-01-29
  • 打赏
  • 举报
回复
如果服务器够强大,通过服务器中转TCP信息就行了

毕竟用远程协助的人不多
icerlion 2010-01-28
  • 打赏
  • 举报
回复
这可能要学习网络通信了。

使用TCP通信,

路由器会为你找到正确的通信路径和目标地址
十八道胡同 2010-01-28
  • 打赏
  • 举报
回复
很早就有这个了 vnc,VNC(Virtual Network Computing,虚拟网络计算)最早是一套由英国剑桥大学ATT实验室在2002年开发的轻量型的远程控制计算机软件,其采用了 GPL 授权条款,任何人都可免费取得该软件。VNC软件主要由两个部分组成:VNC server及VNC viewer。用户需先将VNC server安装在被控端的计算机上后,才能在主控端执行 VNC viewer 控制被控端。
  VNC server 与 VNC viewer 支持多种操作系统,如 windows,Linux,MacOS 及 Unix 系列(Unix,Solaris等),因此可将 VNC server 及 VNC viewer 分别安装在不同的操作系统中进行控制。RealVNC 的优越性还在于如果操作系统的主控端计算机没有安装 VNC viewer,也可以通过一般的网络浏览器(如 IE 等)来控制被控端(需要 Java 虚拟机的支持)。
  整个 VNC 一般运行的工作流程如下:
  (1) VNC 客户端通过浏览器或 VNC Viewer 连接至 VNC Server。
  (2) VNC Server 传送一对话窗口至客户端,要求输入连接密码(可能为空),以及存取的 VNC Server 显示装置。
  (3) 在客户端输入连接密码后,VNC Server 验证客户端是否具有存取权限。
  (4) 若是客户端通过 VNC Server 的验证,客户端即要求 VNC Server 显示桌面环境。
  (5) 被控端将画面显示控制权交由 VNC Server 负责。
  (6) VNC Server 将把被控端的桌面环境利用 VNC 通信协议送至客户端,并且允许客户端控制 VNC Server 的桌面环境及输入装置。
  gihelo经理 四级
十八道胡同 2010-01-28
  • 打赏
  • 举报
回复
加载更多回复(12)

65,179

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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