Some of us don’t have high-speed Internet connections. I live in a remote location and use a relatively slow mobile data stick for Internet. It’s fast enough to download most things, but the connection can be poor at times, which can result in failed downloads.
Recently I wanted to update an Adobe product. The Adobe Updater has not resume feature. Odd, but true. Adobe Updater would keep failing to download the updates, and would start fresh each time I tried. What I wanted to do was get the URL for the update and download it myself using CURL. This has become my trusty download buddy for hard to complete downloads.
I looked through all the Adobe Updater log files, xml files, etc. It only had records of the URL of past updates which were successful. I did not find record of a currently downloading URL (whilst running the updater) nor a failed one. So the next step was to get a free packet sniffer. This is software that will monitor all data passing over a network connection. I used Wireshark, but it is a pretty clunky app to use, simply because it’s not built in native Cacoa (Mac) style. It runs in what is called X11. That alone took a few minutes to load.
In a nutshell, in WireShark I created a filter. To create a filter you must select a Field Name. Click somewhere in that list, and type “http” (without the quotes). This will jump down to the HTTP related fields. Find in there the “http.request.full_uri” (without the quotes). Then select the Relation “contains”. Then in the Value put a unique word from the URL of the company who makes the software. In my case I put adobe into the Value, because I know that Adobe software updates will come from a URL containing adobe.com.
Before applying the filter, and ran the Adobe Updater and got it to the point where it was downloading the update. Then, on WireShark, I applied the filter, and up came what I was looking for. A line of code that contained HTTP 275 GET /pub/adobe/acrobat/mac/9.x/9.3/misc/AcroProUpd930_all.app.zip HTTP/1.1
Clicking on that then brought up the full URL, starting with HTTP. At this point I stop the update, and use CURL to get the file in question. CURL can resume broken downloads.
Another option I’ve since found is Cocoa Packet Analyzer. But I was not able to figure out how to find the info I wanted just by looking at it and playing around. I didn’t feel like reading up on how to do it, as I’d already done what I needed with WireShark.
Here are images of what I referred to in WireShark:
First picture: the result, showing the data I needed.
Next pictures: the filter settings I was referring to: