Hi,

I'm trying to tunnel UDP multicast traffic over SSH. What I want is
for everything reaching a remote UDP multicast address to be echoed to
a local UDP address, and vice versa. (It doesn't matter to me whether
the local address is multicast or unicast.)

So far I've been trying, without success, to use netcat for this. I've
read the guide at http://zarb.org/~gc/html/udp-in-ssh-tunneling.html
for unicast-to-unicast SSH tunneling. However I'm not sure I really
understand what's going on when using netcat for UDP. Putting aside
the SSH tunneling for the moment to simplify things, if I create local
UDP communication with netcat as follows:

prompt1$ nc -l -u -p 12345

prompt2$ nc -u localhost 12345

Everything typed after this at prompt1 appears at prompt2 and vice
versa. However, if I interrupt and restart the netcat client at
prompt2, no further communication occurs (both nc processes exit after
stdin is flushed). I don't really understand this, as UDP is supposed
to be connectionless. I've tried this on OS X and Linux and it behaves
the same way on both architectures.

What am I missing? Can I use netcat for my purposes? If not, is there
any other way to achieve what I want to do?

Thanks,
Hamish