The techie way of liberating the podcast URL from iTunes

Jon Udell is not happy about having to transcribe podcast URLs that iTunes displays, but does not allow to copy. While the general point about lock-in is good, here is a quick techie workaround in a meanwhile.

However much iTunes may want to hide the URLs, at some point it has to actually retrieve something from it, and do it using standard network protocol.

Enter Ethereal, open-source multi-platform network protocol analyser. Using it to get the URL is a serious overkill, but the tool itself comes useful over and over again in many situations.

The steps to snag the URL are:

  1. With iTunes already open, start Ethereal up and run capture in non-promiscuous mode with ‘tcp’ as the filter.
  2. Go to iTunes and do ‘Update podcast’ on the podcast you want.
  3. Let the update happen and stop the Ethereal capture. You should now have a lot of packets in the Ethereal’s view.
  4. In the filter section (this is different filter from before) enter: http.request.uri contains “xml” .
  5. This should show only the packets that are http requests for files with xml in their name. If nothing shows up, try http.request.method as filter. If there is still problem, try http and see if you have any traffic on the chosen interface at all.
  6. Assuming you finally have the right request, you now do right-click-menu/Follow TCP Stream and copy the URI and host from there.
  7. You are done. It sounds a bit long, but takes about 30 seconds after installation is done and correct interfaces are figured out.

For more advanced HTTP work, it is also worth going to the preferences for Ethereal and make sure that packet reassembly is enabled for all levels of the network stack (HTTP, TCP, IP).

BlogicBlogger Over and Out