I have been working with the networks analysis of Android devices for some time now. As many of you know, IPerf is a great utility to characterize the network bandwidth and packet loss on devices.

On Android too, there are quite a few tools that you could use to benchmark your network and your device. IPerf is certainly one of them. It was build by NLANR / DAST (I couldn’t trace back to this organizations website though) and is available for download here :

To give you a brief idea about how IPerf works, these are the major things to keep in mind.
  • IPerf needs a client and server setup. So, in the example that I am going to tell you I am setting up my laptop as the client and my android device as my server.
  • Data is sent from client to server!!
  • IPerf can only work over a single link. That means you have to get both your device under the same subnet and also ensure that there is at max 1 hop.
To ensure the last point, what I did was to setup my laptop as an access point. You could you iptables to do it using linux or connectify (http://www.connectify.me/) on windows machines.
Setup this network topology (very simple and straight forward) Laptop (192.168.238.1 acting as AP using connectify) and Android phone (192.168.238.101) connected to the AP.
Here I am using a laptop running windows (it is easier on a linux machine though) to demo how to test your network and end device bandwidth.
After you finish setting up:
  • Run IPerf app on your android device
    • Enter “-u -s” in the text box that appears saying “Iperf command line arguments”
    • Press the button on the left top corner which reads “OFF” and turns “ON” to a green one on touching it.
    • Now your Iperf server is running.
  • Run Cygwin terminal on your laptop.
    • Type “iperf -u -c 192.168.238.101 -b 10M” and press enter
    • That should enable you to start experimenting.
This is a great way to understand the network behavior and packet loss at your end devices too. For getting your hands really dirty, you should root the device and then try out busybox on android.
Some very good resources for understanding IPerf :
Cheers and enjoy experimenting!!
Advertisements