美文网首页
TURN(RFC5766)协议的测试方法

TURN(RFC5766)协议的测试方法

作者: xinzhou | 来源:发表于2016-05-27 11:32 被阅读0次

    这段时间一直在写一个TURN(RFC5766)协议的客户端软件,用的是C++。虽然参考了一些开源的程序,但也有很多的波折。STUN/TURN/ICE相关的协议有好几个,后来也发现这些协议之间都是既有联系又有区别,也是这个原因让我多耗了不少时间,我想更好的方式不仅是从协议原文出发,也要参考其它产品的交互是怎么样的,这里把自己的一些心得记述下来。

    首先,寻找一个TURN的服务器。公共的STUN服务器是很多了,但公共的TURN服务器看起来不多,以下这个是测试可用的 http://numb.viagenie.ca/ ,这个网站提供了账户的注册,你可以注册一个账户和密码。

    其次,寻找一个TURN的客户端,用以观察其与TURN Server之间的交互过程。我用的是 https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/ 测试可用,它本身自带了一个公共的STUN的服务器地址,可以将其删除,并添加一个我们申请到的TURN Server的地址。URI是turn:numb.viagenie.ca

    TURN Server的设置

    第三步,用wireshark来做监控。下面这两篇文章介绍了怎么通过wireshark来做监控:               http://chimera.labs.oreilly.com/books/1230000000545/ch18.html  https://webrtc.org/testing/wireshark/#                                                                          简单来说,下载一个wireshark,打开wireshark后,先选择当前的以太网连接;然后在wireshark的左上角直接输入”stun”就可以了;

    第四步,在trickle-ice的网址上做好配置,点击”Gather Candidates”,我们再转回wireshark软件,就能看到TURN的Client与Server的整个交互过程了;我用的版本是Version 2.0.3。

    wireshark截图

    另外要注意的是,其中的stun数据包只是整体的一部分,像下图一样选中,即可看到这一部分的数据,事实上,wireshark已经将整个数据的含义完整的解析出来了。

    stun 数据

    相关文章

      网友评论

          本文标题:TURN(RFC5766)协议的测试方法

          本文链接:https://www.haomeiwen.com/subject/binarttx.html