Skip to content

Network Connection Performance Tester; a Python GUI for iperf

Notifications You must be signed in to change notification settings

MansourM61/NetPerfTester

Repository files navigation

NetPerfTester

Screenshot

Network Connection Performance Tester, a Python GUI for iperf

This Python script is compatible with Python 3.7. The module provides required GUI to analyze network performance using 'iperf version 2' for 'Linux' and 'iperf version 3' for 'Windows'. The measurement parameters are 'Transfer Bytes', 'Bandwidth', 'Jitter', and 'Packet Error Rate (PER)'. The GUI also provides 'Log' feature for saving the measurement into a CSV format file.

The bandwidth gauge widget is from: https://github.com/NickWaterton/iperf3-GUI

I was planning to use 'iperf3' for both 'Windows' and 'Linux', while using provided stdout pipe line to capture the generated outputs. However neither of 'iperf2' and 'iperf3' are flushing the stdout pipe lines right after. So for both case scenarios I used a standard OS-dependent method to save the generated text into a file. Then by opening the file and analysing it the GUI produces the outputs.

By trial and error I found out that iperf2 is the best option in 'ubntu 18.04' where as 'iperf3' is working fine in 'windows 10'.

Download iperf3 and copy and past all the files into folder 'bin'.

The folder already contains two script files. The script files are used to terminate the process using a specific port in both 'Windows' and 'Linux'. For some reason the code is not able to terminate the 'iperf' subprocess while running in 'Linux'. To terminate the process using a specific port, in the command line type:

bash ./KillPortProcessLinux.sh PORT

The following packages are needed to run the code: time, os, tkinter, socket, re, threading, platform, tempfile, subprocess, numpy, matplotlib, collections, math

To run the code, use the following syntax:

python NetPerfTester.py

Please let me know if you think of anyway to improve the code.

About

Network Connection Performance Tester; a Python GUI for iperf

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published