OnWorks favicon

IPerf2 download for Linux

Free download IPerf2 Linux app to run online in Ubuntu online, Fedora online or Debian online

This is the Linux app named IPerf2 whose latest release can be downloaded as iperf.exe. It can be run online in the free hosting provider OnWorks for workstations.

Download and run online this app named IPerf2 with OnWorks for free.

Follow these instructions in order to run this app:

- 1. Downloaded this application in your PC.

- 2. Enter in our file manager https://www.onworks.net/myfiles.php?username=XXXXX with the username that you want.

- 3. Upload this application in such filemanager.

- 4. Start the OnWorks Linux online or Windows online emulator or MACOS online emulator from this website.

- 5. From the OnWorks Linux OS you have just started, goto our file manager https://www.onworks.net/myfiles.php?username=XXXXX with the username that you want.

- 6. Download the application, install it and run it.





A network traffic tool for measuring TCP and UDP performance with metrics around both throughput and latency. The goals include maintaining an active iperf code base across a broad set of platforms and operating systems. This is a multi-threaded design which scales with the number of CPUs or cores within a system.

About iperf 2 and iperf3: Read about the differences between these programs at https://iperf2.sourceforge.io/IperfCompare.html

Man page: https://iperf2.sourceforge.io/iperf-manpage.html


  • Fix portability, compile and tested with Linux, Win10, Win7, WinXP, MacOS, Android and some set-top box OSs.
  • Require -u for UDP (-b no longer defaults to UDP)
  • Improved performance
  • Enhanced reporting with -e
  • Support smaller report intervals (100 us or greater, configure --enable-fastsampling for high precision interval time output)
  • Support SO_RCVTIMEOUT for server reports regardless of no packets
  • Support SO_SNDTIMEO on send so socket write won't block beyond -t or -i
  • Support SO_TIMESTAMP for kernel level packet timestamping
  • Support end/end latency in mean/min/max/stdev format (UDP) (-e required) (assumes client and server clocks synched, e.g by Precision Time Protocol to an OCXO oscillator per Spectracom)
  • Fixes to bind so OS can auto assign source port
  • Add local port to bind support (-B option) using colon as separator (v4) or brackets (v6) e.g. iperf -c -B (v4) or for v6, iperf -V -c 2001:e30:1401:2:d46e:b891:3082:b939 -B [2001:e30:1401:2:d46e:b891:3082:b940]:6001
  • Support TCP rate limited streams (via the -b) using simplified token bucket
  • Support packets per second (UDP) via pps as units, (e.g. -b 1000pps)
  • Display PPS in both client and server reports (UDP) (-e required)
  • Support realtime scheduler as a command line option (--realtime or -z, assumes proper user privileges)
  • Improve client tx code path so actual tx offered rate will converge to the -b value
  • Improve accuracy of microsecond delay calls (in platform independent manner) (Use of Kalman filter to predict delay errors and adjust delays per predicted error)
  • Display target loop time in initial client header (UDP)
  • Fix final latency report sent from server to client (UDP)
  • Include standard deviation in latency output
  • Suppress unrealistic latency output using (-/-/-/-)
  • Use clock_gettime() in critical sections, if available, replacing gettimeofday() calls
  • TCP write and error counts (TCP retries and CWND for linux) (-e required)
  • TCP read count, TCP read histogram (8 bins) (-e required)
  • TCP RTT and CWND values in client reports (-e required, Linux only, RTT units microseconds)
  • Added support for -t on the Server (Listener) so servers/listener can be set to timeout and exit
  • Add ipv6 link local support (e.g. iperf -c fe80::d03a:d127:75d2:4112%eno1)
  • Default ipv6 UDP payload to 1450 bytes per one ethernet frame per payload
  • -V on server will accept both IPv4 and IPv6 traffic flows
  • Isochronous traffic support (via --isochronous) and frame bursts with variable bit rate (vbr) traffic and frame ids
  • Multicast SSM support for both v4 and v6 using -H or -ssm-host, e.g. iperf -s -B ff1e::1 -u -V -H fc00::4
  • Latency histograms for both packets and frames (e.g. --udp-histogram=10u,200000, 0.03, 99.97)
  • Ethernet frame length checks with --l2checks on the client (UDP only and requires systems that support AF_PACKET)
  • Server (read) -b support for TCP (via token bucket)
  • UDP write counters and write error counters (requires -e)
  • Python asyncio code to manage multiple iperf sessions (found in the flows directory)
  • Support for timed transmit starts per --txstart-time <unix.epoch time>
  • Support for client incrementing the destination ip with -P via --incr-dstip
  • Support for varying the offered load using a log normal distribution around a mean and standard deviation (per -b <mean>,<stdev>),
  • Honor -T (ttl) for both unicast and multicast
  • Added network power to TCP client and UDP server enhanced output (netpower = throughput / RTT or throughput / end2end delay on server)
  • Add TCP connect time to connected to message
  • Add support for SO_MAX_PACING_RATE socket option using --fq-rate <value>
  • Add configure support for --enable-fastsampling, allowing 100 microsecond report intervals
  • Add support for --trip-time on client, requires -e on both client and server and synchronized clocks
  • UDP uses 64 bit sequence numbers (though still interoperates with 2.0.5 which uses 32b seq no.)

This is an application that can also be fetched from https://sourceforge.net/projects/iperf2/. It has been hosted in OnWorks in order to be run online in an easiest way from one of our free Operative Systems.

Free Servers & Workstations

Download Windows & Linux apps

Linux commands