Depende da sua infra-estrutura multicast: Por exemplo, você pode ter muitos roteadores multicast e várias regras definidas em seus switches (tornando as assinaturas estáticas, dinâmicas ou até mesmo banidas em certas portas / nós).
Mas, se você quiser se inscrever em um grupo multicast ... Basta se inscrever. Envie um pacote IGMP JOIN por meio de alguma infraestrutura, que obviamente tem a detecção IGMP ativada. Você pode gerar um pacote IGMP com uma variedade de ferramentas.
Dando um passo para um nível mais alto, use iperf para se inscrever em qualquer multicast grupo. Se a sua infra-estrutura de rede não for muito complexa, e se você for "permitido" para se inscrever em qualquer grupo multicast, use o seguinte:
iperf -s -u -B 239.100.100.100
Em que 239.100.100.100 é o endereço do grupo de multidifusão.
tcpdump simultaneamente para obter um relatório detalhado.
Note que acredito que o iperf suporta apenas IGMP v1 e v2. Se você deseja criar um pacote IGMP v3 JOIN, não deve ser muito difícil escrever um programa, como você afirmou. Mas haveria muito mais ferramentas por aí que provavelmente fariam o mesmo.