Programa integrado ou de código aberto do Linux para ingressar no grupo multicast?

Programa integrado ou de código aberto do Linux para ingressar no grupo multicast?

Estou usando o tcpdump para capturar pacotes multicast e tive que codificar um programa personalizado para ingressar em feeds multicast para que o tcpdump "veja" os pacotes. Gostaria de saber se o netcat ou qualquer outro aplicativo pode executar essa função?

Responder1

Esta resposta foi retirada.

Responder2

Pode-se usar socat para se inscrever em grupos. Isso funciona bem para assinaturas L2 e L3:

socat STDIO  UDP4-DATAGRAM:239.101.1.68:8889,\
  ip-add-membership=239.0.1.68:10.100.201.1

Isso irá se inscrever no grupo 239.0.1.68usando a interface com address 10.100.201.1. O UDP4-DATAGRAM:239.101.1.68:8889bit escuta pacotes em um grupo fictício e porta udp que não deve receber nenhum dado para evitar que o socat também envie tudo para stdout. Se, em vez disso, você quiser direcionar a carga para stdout, altere esse grupo e porta para o grupo e porta reais que você deseja assinar.

Várias diretivas separadas por vírgula ip-add-membershippodem ser especificadas para assinar vários grupos ao mesmo tempo. Quando o socat sai, parece que as assinaturas IGMP também são eliminadas.

Responder3

Além de socatresponder, aqui está uma solução pesada -smcroute. Este aplicativo é executado como um daemon e pode ser controlado instantaneamente:

smcroutectl join eth0 239.1.1.27
smcroutectl leave eth0 239.1.1.27

Responder4

No pimd do FRR, você pode fazer:

interface vlan2000
 ip address A.B.C.D/24
 ip igmp
 ip igmp join 239.0.110.219
 ip igmp join 239.0.110.220
 ip igmp version 2

informação relacionada