gpt4 book ai didi

networking - 为什么 iftop 不显示来自多播 IP 的带宽但 tcpdump 显示? ffmpeg 也无法从多播中捕获

转载 作者:行者123 更新时间:2023-12-04 22:55:32 25 4
gpt4 key购买 nike

我在尝试接收多播 IP(来自 239.193.140.11:1234 的视频)时遇到了一个令人费解的问题。

$tcpdump dst 239.193.140.11 -w capturedData.pcap ,数据包被正确捕获。

例如,11:05:25.357138 IP 192.168.34.34.46192 > 239.193.140.11.1234:UDP,长度 1328

这意味着我的机器正在接收多播 IP 数据包。

然而,当 $iftop -i any运行时,iftop 不显示来自 239.193.140.11 的任何带宽。此外,当我尝试使用 ffmpeg 捕获多播数据包时:$ffmpeg -i udp://239.193.140.11:1234?localaddr=192.168.34.34 ,没有数据包被捕获。

为什么 tcpdump 和 iftop 显示的内容之间存在差异,以及如何解决它以便 ffmpeg 可以正确捕获?

最佳答案

看起来反向路径过滤器(rp_filter)已启用,它正在拒绝数据包。
根据我在 PROD 环境中的经验,我可以说禁用 rp_filter 使我的客户端/监听器应用程序能够拾取数据包。使用以下命令禁用 rp_filter:

 $echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filter

在上面,如果不是 eth0,则将“eth0”替换为接收多播的接口(interface),或者编辑 rp_filter 文件并将值设置为“0”

关于networking - 为什么 iftop 不显示来自多播 IP 的带宽但 tcpdump 显示? ffmpeg 也无法从多播中捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48771108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com