欢迎来到天天文库
浏览记录
ID:49408526
大小:70.00 KB
页数:4页
时间:2020-03-01
《Skype通讯协议分析.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Skype通讯协议分析Skype的通讯协议是不公开的,而且通讯.内容是加过密的,这两位完全在实验的基础上对Skype的通讯机制进行分析,分析结果很有参考价值。通过分析得出的结论主要有三个:1、Skype的通话质量较MSN和Yahoo的即时通信工具要好;2、可以无缝的在NATs和防火墙后使用:3、安装使用起來确实非常•简单。如图1ordinaryhostsupernoden&ghbomrelationshipsintheSkypenetworkSkype与以往MSN等IM工具最大的不同在于基除了用户登录.其余工作基木不依赖屮央服
2、务器.Skype在穿透防火墙通讯时完全使用TPeertoPeer,而没用到中央服务器。上图屮的小黑点是客户端,大黑点是超级节点(用于为其它客户端提供登录踏板及广播服务),灰色的点是Skype的登录服务器。用户下载安装完Skype后,Skype客户端会发送一段HTTP1.1的请求到中央服务器,告诉它我装完了一个什么样的版本:GET/ui/O/977en/installedHTTP/1.1User-Agent:Skype™Beta0.97Host:ui.skype.comCache-Control:no-cache服务器会返冋一个
3、200OK的信息:HTTP/1.1200OKDate:Tue,20Apr200404:51:39GMTServer:Apache/2.0.47(DebianGNU/Linux)PHP/4.3.5mod_ssl/2・0・47OpenSSL/0.9.7bX-Powered-By:PHP/4.3.5Cache-control:no-cache,mustrevalidatePragma:no-cacheExpires:0Content-Length:0Content-Type:text/html;charset=utf-8Conten
4、t・Language:en客户端会进行登录初始化工作,这一步工作包含很多内容,针对三种不同类型的网络情况有三种不同的登录方式:1、直接有公众网的IP2、在内部网,可以通过TCP访问外部网络3、在内部网,但只能通过有限的几个端口(例如80和443)访问外部网络Skype在野录的时候会先使用UDP请求HC中的IP,如果不行,就用TCP请求HC中的IP及端门,如呆还不行,就用TCP请求HC中的IP及80端口,如果又不行,就再请求HC中的IP及443端口。如果这时候还不行,那就登录不了了。整个过程屮传输的数据議大概在8k-10k,持续
5、的时间在3至35秒。1、端口在Skype的连接属性对话框中可以设置监听的端口号,在安装的时候Skype会随机的选择一个端口作为监听的端口,这一点与HTTP协议等不同,Skype没有默认的服务端口。同时,它还会打开对80和443端口的监听。80是常见的HTTP服务默认端口,而443则是HTTPS服务的默认端口°2^主机列表(HC,HostCache)这里的主机指的是可以提供踏板及广播服务的SuperNode(SN)0通常它被存储在注册表里的:HKEY_CURRENT_USER/SOFTWARE/SKYPE/PHONE/LIB/C
6、ONNECTION/HOSTCACHE中.一般情况下,运行两天后,HC中会有约200个机•器地址及对应的端口号。3、编解码器要能语音通信,编解码器当然少不了。GlobalIPSound在他的网站上专用明它为Skype提供点对点语音通讯软件:GlobalIPSoundprovidesvoiceprocessingsoftwaretoSkype'speer-to-peervoice-communicationssoftware.Skype应该是使用门也们的编解码器实现的语音通讯。4、好友列表当你换了一台计算机的时候可能会发现Sky
7、pe±的好友列表没了,不要奇怪,Skype的好友列表没有保存在服务器上,而是保存在本地的注册表中,当然,是加过密的。5、加密Skype使用AES加密标准。6、NAT与防火墙Skype应该是使用了STUN和TURN协议來检测所处的NAT及防火墙环境。Skype定期的刷新这些信息,这些信息也是存储在注册表中的。与另外一个点对点文件共享系统Kazza不同,普通客户端无法阻止自己成为SuperNode(SN),就是说它随时可能被征用成为别人窃录服务和广播服务的提供者,就是类似于BT屮的种子提供者的角色。Skype的功能主要可以分为:初
8、始化,登录,用户搜索,呼叫建立与终止,媒体传输和状态消息。1、初始化第一次安装后,Skype会发送一段HTTP1.1的请求给屮央服务器,包括关键字"installed"以及所装Skype的版本号。以后的每次登录Skype都会向中央服务器发送一小段包含关键字”getlatest
此文档下载收益归作者所有