I'm doing a project with the apple tv. I have been trying to view and modify the http and https requests sent by the apple tv with mitmproxy http://mitmproxy.org/ . I have installed a profile on the apple tv for the proxy and a root certificate, however the apple tv is failling to connect to the internet.
I figured this would be the best form to ask my question because of the amazing work done on plexconnect. Is there something I need to know about the apple tv and root certificates? Do I still need a DNS server if I am using a proxy?
You could install plexconnect and view the logs to see the requests. Another user macman64 was using Charles proxy in this topic. I don’t know how the Charles proxy works as in installation, and I believe it gives more detail I think then the plexconnect log as far as I know.
Thanks, it appears that the itunes store certificates are not validated against the root certificate. I will have to figure out how to disable https interception in my proxy for that.
I don’t know what certs you are installing but we install a trailers.cer on the appletv and a trailers.pem on the plexconnect host due to apple using https now. The easiest method I know is to install the trailers.cer via this network method using PlexConnects built-in webserver:
I thought Charles proxy just intercepted all requests http/https requests. I don’t believe you need a certs installed to use Charles proxy. I would like to know more about how it works so I could sniff some of the traffic of my aTV.
Charles proxy only intercepts the domains the user tells it to, so it won't mess up the itunes store.
mitmproxy tries to intercept every ssl connection, and the apple tv uses a difrent method for the itunes store. So the apple tv breaks when using mitmrproxy.
Like I said this guy was able to dump just about everything known to man using just Charles proxy maybe you can send him a pm? I also what to know how to intercept everything under the sun that the aTV requests. If you get it working somehow let me know.
Another user called @japps dumped it as well, I just don’t get how they are successfully getting all this information, I just tried Charles and didn’t get much of anything as far as requests go:
It would be great if someone could explain how to successfully intercept the traffic from the Apple TV as @japps or @macman64 was able to in such a detailed way.
On that thread they say the apple tv fails to connect if itunes.apple.com is signed with any certificate other than apple. This is the result I have been getting too. However, at bootup I noticed the appletv downloads an intermediate certificate over http, so we might still be able to do this.
What exactly are you looking for in the requests? I’m looking for the URL, bag.plist, and storefront.xml locations and whatever else I can extract in I assume as a raw format. This cert you are trying to install is it signed? The reason I ask is because the certs we install are not signed yet we able to still use plexconnect and the unsigned certs to act as a way to get access to the Apple TV via trailers using the manual DNS method.
Apple will probably doing cert checking for iTunes Store certs because they don’t want peoples accounts getting hijacked. For the trailers app etc it doesn’t really matter, requires physical access to the device and a deliberate cert install; also they need to leave self signed certs open for enterprise network setups.
I am not really trying to mess with the itunes store. It was just confusing my proxy that it was being re-signed. I don't know what you mean by "signed cert". It was signed by apple configurator, is that what you mean?