Measure network speed, throughput performance and bandwidth between devices

It is always good to know just how much TCP / UDP packets can we squeeze out from our network interfaces. Be it that we are building our very own router or just plain testing out our network environment. Usually there comes a time when the question pops up in our head: “How much megabits can these handle?” A likely answer comes in form of iperf.

A server-client model piece of software, which opens up a port on the server side and awaits for any incoming connections after which the bandwidth test is initiated.

Fire up your Server using this command:

iperf -s 

After which you’ll get an output similar to this:

----------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
----------------------------------------------------------

Changing the port is possible using the  -p  argument.

Now on the Client issue the following to initiate the testing process:

iperf -c <ip_address_of_server> 

You’ll be greeted by the following output:

oli@bert:~$ iperf -c 192.168.1.1
----------------------------------------------------------
Client connecting to 192.168.1.1, TCP port 5001
TCP window size: 85.3 KByte (default)
----------------------------------------------------------
[  3] local 192.168.1.2 port 37221 connected with 192.168.1.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.04 GBytes    935 Mbits/sec

Alternative Windows binaries are available for download here