I have recently started using the excellent rhythmbox player to listen to last FM but I have noticed that it does not seem to have an easy way to actually record music. It will play music, but once a favorite track has finished there is no easy way to play it again which is quite frustrating!
I have tried to find where they are cached on the hard disk, but there does not seem to be an obvious location so I thought I’d capture the tcp stream using wireshark.
What I have found works quite well is to set up the a live capture with name resolution active and then play a song you want to capture. Once the song has started playing you then right click on the live capture and hit “follow tcp stream”
You will then see a box showing text like this:
GET /user/xxxxxxxxxxxxxxxxxxxxxxxx.mp3 HTTP/1.1
User-Agent: GStreamer souphttpsrc libsoup/2.24.1
HTTP/1.1 200 OK
Cache-Control: no-cache, must-revalidate
You then hit the “save as” button and save it as a “*****.mp3” name of your choice.