Testing your internet speed from the command line is pretty cool

Almost everyone in the world knows you can easily test your broadband connection by visiting http://www.speedtest.net or http://testmy.net.  So why am I confounding things?

Because it’s not only easy but also banal.

But boring is so lame… so today I want to spice up your command line life.

If you visit SpeedTest.net you know that clicking the big “Begin Test” button galvanizes your digital tachometer to action, and depending on your broadband connection, engenders much gloating or lamenting when you see the results.

But what fun is it to know what everyone else knows?  Let’s dwell in the obscure for a moment.

Today, I want to show you a neat little trick for viewing your internet speed from the command line.

How to be a showoff

Now first up… to be honest this has no real utility.  I can unabashedly say this is actually purely for ostentation.

It’s for those moments when you have the incipient sense that your boss is about to round the corner and you want to look like you know your shit.

It’s for those moments when your querulous girlfriend asks you to fix her slow internet and you say, “Hold on baby, let’s see how fast your network speed is”.  That’s when you adroitly whip out this command  trick and overawe her with your geekery.

Chicks dig geeks – it’s true.

How to pull the cat out of the hat

I’m going to show you how to pull this off using Windows first since most of my readers are Microsoft fans.  Then I’ll show you how to do the same on your Linux computers and Macs. (And unlike some PC guys, I won’t censure you for using a Mac but I will say that you wasted a lot of money, lol j/k)

I feel like I’m fomenting an incursion from Mac lovers with my little jabs but I can’t resist.

Alright, Windows users listen up!

Microsoft style

Here’s the esoteric solution:

We need to get a little program called Wget.  It’s a free network tool indigenous to Linux commonly used to download files from websites.

We’re going to use Wget to download a test .ZIP file so we can observe our network throughput.

First let’s visit the world’s ugliest webpage: gnuwin32.sourceforge.net/packages/wget.htm

It doesn’t really matter that the site resembles the austere HTML pages of the early 90’s because… well – the site loads fast and Wget simply works so ignore the drab homepage.

Download GNU for Windows

Scroll down to the Download session and click the Setup link.  This will whisk you off to Soureforge where the package should immediately download.

Breeze through the Setup wizard and keep all the defaults.  Just Next your way through.

Wget Setup Wizard

then browse to the following folder:

C:\Program Files (x86)\GnuWin32\bin

Now you can either hold down the Shift key while right-clicking wget.exe to select Open Command Windows here or in Windows 8 you can press Alt + f + m + a to open the command prompt at the current location.

Alternately, you can just open the command prompt and CD your way to \bin.

Once you get there type the following command:

wget http://speedtest.wdc01.softlayer.com/downloads/test500.zip

After a few seconds, you’ll become sentient of a little arrow with equal signs inching its way to the right side of the screen.

We just downloaded a 500MB test file called test500.zip which we can delete from the \bin folder.

Your internet speed is displayed immediately to the right of the arrow.  You can see I have the estimable speed of about 56MB/s.

Not too shabby.

GnuWin32 Wget network speed

If you have a faster or slower connection just change the test500.zip to test10.zip for a 10MB file or to test1000.zip for the 1 Gigabyte file.  Remember you’re actually downloading a real file so make sure you have the space on your drive first.

Here’s a tip: to automatically delete the file from your system after downloading it just append the command string with the following phrase:

&& del testxxx.zip

Replace the x’s with the estimated file size.  For example, the following command downloads a 500MB file and then immediately removes it.

wget http://speedtest.wdc01.softlayer.com/downloads/test500.zip && del test500.zip

Mac Magic

On your Mac, press Command + Space then type:


Now enter the following command:

curl -o /dev/null http://speedtest.sea01.softlayer.com/downloads/test10.zip

My astute readers probably noticed we’re not using wget here.  That’s because wget isn’t installed on the Mac by default so it’s easier to use curl.

The dash o after after the curl command is a dash “OH”. (not a zero)

After the “o” you’ll see a cryptic file path called /dev/null.

This means we’re going to copy our freshly minted test file into a folder called /dev/null.

But what the heck is /dev/null?

Think of it like a blackhole.  /dev/null is the neverworld for your files; anything written to it gets zapped to oblivion.

So the curl command above says:

Output the test10.zip file to no-where land.

In other words, we don’t care about the file itself – we’re just interested in the process and result.

My Mac mini is on a wireless connection so the download speeds aren’t tantamount to my desktop PC, but you can see I still clocked in at a strong 1141K or about 1MB/s

Using curl on Mac to view internet download speed

Here’s what my internet speed looks like from my CentOS Linux Box:

wget on linux for internet speed



Connect with Vonnie on Twitter

Posted in Linux, Mac OS X 10.8 Mountain Lion, Windows, Windows 8, Windows 8.1 Tagged with:
  • crystallized

    Neat! You’ve a fantabulous blog and a new reader too. I’m adding your blog to my bookmarks toolbar (a real luxury since space is scarce). Hats off to you!

  • Just be aware of what units you’re working with. Many people don’t realize that speed tests are usually in megaBITS (Mb) and that’s different than megaBYTES (MB). For example: If you’re paying your ISP for 8 Mb/s download speed, don’t be surprised when wget tells you you’re downloading at 1MB/s (because it’s exactly the same.)