In recent times, I’ve cut the cord and stopped watching TV from my local cable company.
This gave the need to look for IPv4 multicast groups that had active talkers, so I (on occasion) could stream some live TV over the internet instead. (don’t overthink the logic here .. ;))
The Norwegian research network has some free/open TV channels (NRK, TV2, Frikanalen), and I was thinking perhaps there are more available further out?
IPv4 multicast has a pretty small address space. 244/8 and up to the top. Shouldn’t be to hard to join all of them and see if something comes down the pipe?
1) cook up a libpcap listener that reports destination ip and port of any multicast that is coming in, as well as bitrate. you probably want to filter mdns, sap, upnp and some other ports to keep the false positives low. I’ve made gist with the one I wrote here.
2) Join every multicast group under the sun, one by one. Just bind a socket to it, the port doesn’t matter. Rinse and repeat. I spent 10 seconds in each group, and joined about 50 at the time. I recommend that you go buy your network operations people some beer in advance, as IGMP implementations seem to fall over after a few days of heavy joins/parts. I recommend perhaps 5 or 10 concurrent groups. Code is here.
Some results, either from direct scanning or from scanning subnetworks that were sending SAP announcements:
- There are some TV channels on 18.104.22.168/24. Deutsche Welle and NHK World in 1080p.
- The Hellenic Parliament [sic] TV is on 22.214.171.124:1234.
- There are quite a few surveillance cameras hooked up, ready for your viewing pleasure!
- SVT1 is still around in Uninett.
- Some weird music channel called mtvU. Endless commercials, so probably american? :)
There are some more findings, but I don’t think the owners would appreciate publicity. I’m pretty sure there is more out there, if someone cares to take another look.
Anyway, I’ve had the code laying around for a while. Perhaps someone will find it useful. It worked well enough for me.