
나는 멀티캐스트 패킷을 캡처하기 위해 tcpdump를 사용하고 있으며 tcpdump가 패킷을 "볼" 수 있도록 멀티캐스트 피드에 참여하기 위한 사용자 정의 프로그램을 코딩해야 했습니다. netcat이나 다른 응용 프로그램이 대신 이 기능을 수행할 수 있는지 궁금하십니까?
답변1
이 답변은 철회되었습니다.
답변2
socat을 사용하여 그룹을 구독할 수 있습니다. 이는 L2 및 L3 구독 모두에 잘 작동합니다.
socat STDIO UDP4-DATAGRAM:239.101.1.68:8889,\
ip-add-membership=239.0.1.68:10.100.201.1
239.0.1.68
이는 주소가 있는 인터페이스를 사용하여 그룹을 구독합니다 10.100.201.1
. 비트 UDP4-DATAGRAM:239.101.1.68:8889
는 socat이 모든 것을 stdout으로 출력하는 것을 방지하기 위해 데이터를 수신해서는 안 되는 더미 그룹 및 udp 포트의 패킷을 수신합니다. 대신 페이로드를 stdout으로 보내려면 해당 그룹과 포트를 구독하려는 실제 그룹과 포트로 변경하세요.
ip-add-membership
여러 그룹을 동시에 구독하려면 여러 개의 쉼표로 구분된 지시어를 지정할 수 있습니다. socat이 종료되면 IGMP 구독도 지워지는 것 같습니다.
답변3
답변 외에도 socat
여기에 강력한 솔루션이 있습니다.smcroute. 이 애플리케이션은 데몬으로 실행되며 즉시 제어할 수 있습니다.
smcroutectl join eth0 239.1.1.27
smcroutectl leave eth0 239.1.1.27
답변4
FRR의 pimd에서는 다음을 수행할 수 있습니다.
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