PDA

View Full Version : Blockbuster movies on demand



know1
13-10-2009, 07:35 PM
I've had a bit of a hunt around and can't find any decent information.

Looking for someone that's perhaps already taken a look at the network protocol behind how this works.
IPs, tcp/udp ports, network protocols (http/https/ftp/??), any details if it's encrypted and ciphers and all the sort of thing is what I'm really looking for.
I suspect the podcasts work in a very similar fashion as they appear alongside blockbuster in the showcases screen.

On a similar theme there's also the "Manually add a server option". Anyone have any details of what sort of server it's looking to talk to? Again protocal, ips, ports etc. would be great.

Might save me doing some work if it exists, otherwise if nobody has really done any research on it I sense a project coming up.

Edit: my bad the manually add a server seems to wants to talk to the Tivo desktop software and without the MAK is fairly limited to what it can do.
The showcase protocol information is probably more along the lines of what I was looking for.

know1
13-10-2009, 08:19 PM
So after a quick bash with tcpdump a few things started to surface.

Seems Tivo uses XMPP (aka Jabber/gtalk) to communicate back to base.
20:58:33.659299 IP (tos 0x0, ttl 64, id 25909, offset 0, flags [DF], proto TCP (6), length 52)
tivo.home.33802 > 125.255.82.156.5223: Flags [.], cksum 0x777e (correct), ack 75, win 8074, options [nop,nop,TS val 80672982 ecr 1297453195], length 0

20:58:33.699052 IP (tos 0x0, ttl 245, id 36422, offset 0, flags [none], proto TCP (6), length 52)
125.255.82.156.5223 > tivo.home.33802: Flags [.], cksum 0x6442 (correct), ack 1, win 6970, options [nop,nop,TS val 1297463234 ecr 80668970], length 0

And that IP belongs to Pacific Internet, at least in part
firewall ~ # whois 125.255.82.156

inetnum: 125.255.0.0 - 125.255.255.255
netname: PI-AU
descr: Pacific Internet (Australia) Pty Ltd

This is also further confirmed now I know some google keywords to search for
https://stpeter.im/index.php/2008/01/10/xmpp-in-tivo/
The last comment though doesn't bode well considering it's age

It also seems to talk straight http to amazon for podcasts, and to an internode cache node for blockbuster
21:09:22.168470 IP (tos 0x0, ttl 64, id 32069, offset 0, flags [DF], proto TCP (6), length 52)
tivo.home.34830 > tivo.cdn.on.net.http: Flags [.], cksum 0xc31e (correct), ack 19557, win 45056, options [nop,nop,TS val 80737832 ecr 1306147258], length 0
This is no doubt because I'm on internode, wonder where it goes for non Internode users.
Also if the podcasts are from amazon this mean that they're probably no included in "free content" for Internode users.

It also looked like it phoned out to the 125 IP above on tcp port 7287 to get teh list of blockbuster servers or movies or something this port (and many others) are listed in the what to open on your firewall
http://support.mytivo.com.au/index.php?action=artikel&cat=45&id=151&artlang=en
That's not a standard port for anything according to IANA so I'm suspecting custom protocol, unless it's a random port.

I also saw some multicast packets that were related to the tivo desktop software. Pretty neat using multicast.

Looks like someone over at Tivo (Hybrid?) has at least a decent grasp on the networking side.

Going to get a few more extensive packet captures and run them through wireshark.
Will let you all know what I find.

fruv
14-10-2009, 09:09 AM
The last 2 Blockbuster movies I downloaded had glitches that caused them to freeze with random colours on the screen. With the first one, I was able to fast forward past the glitch and continue watching the movie missing only a few minutes. The second one froze only a few minutes into the movie and I couldn't fast forward past it. I couldn't watch the movie at all. Blockbuster/Tivo support told me they get this problem reported regularly, particularly from people using WiFi.

I don't know what protocol they're using but it doesn't seem to use any sort of error detection/correction. If your connection temporarily drops out during a transfer, you end up with a corrupt file.

JohnScott
14-10-2009, 09:19 AM
Haven't seen the issues described but have seen some poor encoding/compression on several movies, most recently "Duplicity". Had a nasty jerkiness about once per second that was especially noticeable on panning shots. The black bars top, bottom, left and right on my 16:9 screen were also weird and unnecessary.

John

petestrash
14-10-2009, 05:56 PM
IPs, tcp/udp ports, network protocols (http/https/ftp/??)

The following ports are used by the TiVo.

* TCP port 37
* TCP port 443
* TCP port 2190
* TCP port 4430
* TCP port 7287
* TCP port 7288
* TCP port 8000
* TCP ports 8080-8089
* TCP port 8101
* TCP port 8102
* TCP port 8200
* UDP port 37
* UDP port 123
* UDP port 2190

Peter.

know1
15-10-2009, 07:21 PM
Found the ports on the tivo site, but they're less than helpful.
Was looking for something along the lines of
5223 -> jabber/XMPP
7278 -> xyz protocol.

And some more info on what the proprietary stuff was.
Looks like I'll have to do it the hard way though.

Hmmmmmm
http://www.tivo.com/abouttivo/resourcecenter/developerpublisherdetails/
http://www.kahunaburger.com/category/tivo/

petestrash
15-10-2009, 09:17 PM
Actually I have been away from home for a while, I copied the port list from a previous post I made on this forum.

mytivo.com.au (http://support.mytivo.com.au/index.php?action=artikel&cat=45&id=151&artlang=en) has a list of ports used by the Australian TiVo HD.

TCP port 37

TCP port 80

TCP port 443

TCP port 2190

TCP port 4430

TCP port 5005

TCP port 5222

TCP port 5223

TCP port 5224

TCP port 7287

TCP port 7288

TCP port 8000

TCP ports 8080-8089

TCP port 8101

TCP port 8102

TCP port 8181

TCP port 8200

UDP port 37

UDP port 123

UDP port 2190

From memory, TiVo uses:

2190 UDP to perform auto-discovery of other DVRs and TiVo Desktop I think it uses apple bonjour.

37 & 123 UDP are used for NTP time calls.

8101 TCP Tivo-Calypso (HTTP server)

Most of the 8000, and 8080-8089 are used for wget from the main TiVo server.

Be careful not to waste your time when using information on the US TiVo HD as there are many differences between the two countries. for example the developerpublisherdetails (http://www.tivo.com/abouttivo/resourcecenter/developerpublisherdetails/) link you listed is not overly relevant for Australia as we do not have web videos on our systems. Also a lot of the tags used internally here are different, like Rating and Genres for example.

Also any references to port 31339 for TiVo control you may find are not enabled here.

Peter.