【问题标题】:listing multicast sockets列出多播套接字
【发布时间】:2013-03-31 08:04:10
【问题描述】:

我想列出 Linux 系统上所有打开的多播套接字? netstat -g 列出了加入的组。为此,我可以使用任何其他实用程序吗?

非常感谢您的帮助。

【问题讨论】:

    标签: linux sockets multicast netstat


    【解决方案1】:

    除了netstat -g,您还可以使用它来查看绑定到多播地址的所有套接字:

    netstat -anu|sort -nk4
    

    这是所有 UDP 套接字的列表(无论是否多播)。查找 224.0.0.0 到 239.255.255.255 范围内的所有地址。这些是绑定到多播地址的套接字,无论它们是否加入多播组。这些将接收此多播组的流量。

    但是:

    实际上,用于接收多播流量的 UDP 套接字通常绑定到地址 0.0.0.0。它们可以接收所有单播和多播地址的 UDP 数据包,服务器通常会根据源 IP 地址进行一些额外的过滤。

    因此,在上面的列表中,您可能还想查看绑定到 0.0.0.0 的 UDP 套接字,例如 0.0.0.0:5353,这很可能是 mDNS (avahi, zeroconf) 服务器。

    【讨论】:

      【解决方案2】:

      我认为没有一种工具可以为您提供这些信息。

      原因是多播套接字没有绑定地址,它只参与多播组(IP_ADD_MEMBERSHIP)。一个套接字可以在同一个接口上加入多个不同的组,或者在不同的接口上加入同一个组,因此维护这些交叉引用没有什么意义。内核公开的唯一信息是在 /proc/net 中,在本例中是 /proc/net/igmp (

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-12-16
        • 1970-01-01
        • 2010-12-26
        • 1970-01-01
        • 1970-01-01
        • 2021-03-10
        • 2017-03-20
        • 2011-04-29
        相关资源
        最近更新 更多