调试 WebRTC 可能是一项艰巨的任务。有很多部分都处于运行状态,每一个部分都可能出现问题。如果你不够细心,可能会浪费数周的时间来查看错误的模块。当你最终找到出错的部分时,你还需要学习一些知识才能理解问题的根源。
本章将带你学习 WebRTC 的调试。它将向你展示如何分析并定位相关问题。确定问题后,我们将快速介绍一下流行的调试工具。
开始调试时,你需要先分解问题的源头。从以下题目开始:
00 0c 是数据段的长度,解码后是十进制的 12。
对伪 magic cookie 的 XOR 运算是幂等的,因此响应中的端口和地址将是清楚的。这并非在所有情况下都有效,因为某些路由器会操纵传递的数据包,伪装 IP 地址。如果我们查看返回的数据值(最后八个字节):
4e 20 是映射的端口,解码成十进制就是 20000。
netcat 是用于使用 TCP 或 UDP 读取和写入网络连接的命令行网络实用程序。通常它可以用 nc 命令来调用。