使用wireshark检测webRTC的问题

时间:2016-07-05 20:56:00

标签: webrtc wireshark

所以我在今年夏天开始工作,他们给我的第一个任务是使用wireshark来理解为什么使用webRTC的应用程序不使用转弯服务器。 你们可以帮助我,了解我应该采取哪些措施来更好地了解问题所在。 我已经运行了wireshark并且只获得了绑定到UDP连接的协议STUN。

1 个答案:

答案 0 :(得分:2)

TURN是STUN扩展名,因此您只能在Wireshark中看到STUN数据包。

您可以使用WebRTC项目中的this sample轻松地单独测试WebRTC + TURN。删除默认的stun服务器并添加您自己的TURN服务器的URL和凭据。 启动wireshark,开始捕获。

点击该页面上的“收集候选人”按钮。您应该至少看到具有主机类型的候选人。您应该,如果浏览器可以到达TURN服务器,通常也会看到具有srflx类型的候选者。 如果TURN服务器正在运行并且您的凭据有效,那么您将获得具有类型中继的候选者。但你可能不会那么问。

现在回到wireshark。将显示过滤器设置为“晕眩”。您应该看到一些数据包发送到TURN服务器的IP地址。右键单击其中一个,“关注”和“udp stream”。这应该显示浏览器和TURN服务器之间的所有数据包。 您应该从服务器看到绑定请求(message_type = 0x01)以及绑定成功响应(message_type = 0x101)。如果您没有看到这些,您的转弯服务器没有响应或有什么东西阻止了客户端。您也不会在候选人聚会演示页面上获得srflx候选人。

您还应该看到数据包wireshark解释为'allocate request udp'(消息类型为0x101)。这些是TURN的重要内容。 您应该看到来自TURN服务器的错误,消息类型为0x113,错误代码为401(未授权),因为在第一个数据包中没有用户名属性。响应那些浏览器将开始发送包含用户名和消息完整性的分配请求。 如果事情进展顺利,那些应该通过分配成功响应(消息类型= 0x103)来回答,指示xor-relayed-address。

如果没有,您会看到更多401错误,通常意味着您的用户名和密码错误。

您可能还会发现使用wireshark对WebRTChacks上的Amazon MaydayWhatsapp进行反向工程的文章都很有用 - 两者都使用Wireshark。

WebRTC项目也在Wireshark上有some notes