我正在运行 Ubuntu 11.10。我有一个本地应用程序正在尝试通过 OpenVPN 隧道接收多播 UDP 流。我与生成多播数据的远程主机有网络连接,并且可以正确访问该主机。此外,如果我在本地计算机上启动 Wireshark,它能够看到通过指定多播目标地址发送的 UDP 数据包。但是,我的客户端应用程序没有表明它已收到任何数据,所以我试图找出原因。
有没有一个简单的工具可以在命令行中使用,以验证多播流量是否已传递到用户级别?我想知道 Wireshark 和用户空间之间是否存在某些东西,它们会出于某种原因过滤数据包。我也尝试过使用tcpdump
以下方法:
sudo tcpdump -n -i tap0 -s 1536 udp
当我运行此命令时,我还看到消息飞过,显示数据包已收到,正如我所期望的那样。tcpdump
但我对 的内部结构不太熟悉;我不确定它是否比典型的用户应用程序更深入地了解底层。有什么建议吗?