G33K-TRICKS: How to Measure Throughput (while Uploading or Downloading)

Friday, March 7, 2014

How to Measure Throughput (while Uploading or Downloading)


Say ..you want to measure the throughput while uploading or downloading a file...how would you do that...
The answer is Wireshark...a packet sniffing tool.
This tool will measure the throughput upto the exact value as it uses the packets as a real medium for reference.
So, this is how you do it...
Download and install Wireshark

Open Wireshark and a similar window will appear

From top-left panel (Capture) select "eth1". After that the following window will appear
At this time Wireshark is ready to obtain information of all packages that travel on this interface
Start uploading a file from this screen.
You will observe that some colourful rows start appearing on the screen. These are nothing but packets.

   Return to Wireshark window and start looking for all streaming packages. Once package transit stops go to: Capture Menu and select Stop


   Once we have all these information we can continue analyzing it
Go to Edit Menu & select  Find Packet




Following pop-up window will appear



Select String on “Find By” section, type "POST" and press "Find"

From all packages, one of them will be highlighted (the one that contains the string "POST" that is located at the beginning of sent file) you can verify this information on the bottom panel


8.    Once this package was identified, as previous explanation, this is the first package uploaded so is needed to take it as initial reference and this can be done, doing right click and selecting "Set Time reference" option












9.    In Time column of this package the word *REF* will appear, and after it all times will be restarted. Select again this package and doing again, right click select "Follow TCP Stream" option.


10. Other window will appear with all information contained on this package. The goal is to obtain a string located at the end of it. So we need to scroll down and copy the string that starts with "WebKitFormBoundary.xxxxxxxxxxx" (this string changes randonmly)


After select and copy this string we need to follow previous steps to find this string on the stream

Edit > Find Package



NOTE: we need to repeat this step, 2 times in order to find the package that contains this string at the end.

At the same way the package that contain this information will be highlighted, with measured time to upload this file (to verify that this package contains desired string look at below panel, and at the end string will appear)



With this time we can obtain Mbps for this test converting file size to bits (multiplying by 8) and divide it by this time