Iperf For Mac Os



Our antivirus check shows that this Mac download is clean. The unique ID for this app's bundle is net.nlanr.jperf.JPerf. Commonly, this program's installer has the following filename: jperf-1.0.0.tar.gz. The actual developer of this free Mac application is Andy Grove. You can launch this free app on Mac OS X. Installing iPerf on a Mac OS X system Iperf is a network bandwidth testing tool that is available for a variety of operating systems. It is available as C source code and also in precompiled, executable versions for the following operating systems from iPerf - Download iPerf3 and original iPerf pre-compiled binaries.

  1. Download iperf 3.1.3 for Mac OS. Measure the speed of your internet protocol bandwidth with iperf.
  2. What is iPerf / iPerf3? IPerf3 is a tool for active measurements of the maximum achievable bandwidth on IP networks. It supports tuning of various parameters related to timing, buffers and protocols (TCP, UDP, SCTP with IPv4 and IPv6).
Latest version

Released:

Python wrapper around iperf3

Project description

iperf3-python: Python wrapper around iperf3
|PyPi Status| |Build Status| |Coverage Status| |Documentation Status|
Detailed documentation at
`iperf3-python.readthedocs.org <https://iperf3-python.readthedocs.org/>`__
iperf3 for python provides a wrapper around the excellent iperf3
utility. iperf3 is a complete rewrite of the original iperf
implementation. more information on the `official iperf3
site <http://software.es.net/iperf/>`__
iperf3 introduced an API called libiperf that allows you to easily
interact with iperf3 from other languages. This library provides a
python wrapper around libiperf for easy integration into your own python
scripts in a pythonic way
Installation
------------
First you have to make sure the iperf3 utility is present on your system as the
python module wraps around the libiperf API provided by it.
The common linux distributions offer installations from their own repositories. These
might be out of date so installation from the official `iperf3 website <http://software.es.net/iperf/>`__
is preferred.
**note** The libiperf API was only introduced in 3.0.6 so make sure you have an updated version
of iperf3 installation.
**note** The libiperf API added a feature to programmatically retrieve the json output from the library. This
enables us to retrieve the results without having to scrape the output from stdout. Effectively this means
that if you want to redirect your script's stdout/stderr to something else you need at least iperf3 version 3.1
- Install from source (preferred)
.. code:: bash
wget http://downloads.es.net/pub/iperf/iperf-3-current.tar.gz
tar xvf iperf-3-current.tar.gz
cd iperf-3.3/ # Or whatever the latest version is
./configure && make && sudo make install
- Ubuntu:
.. code:: bash
sudo apt-get install iperf3
- CenOS/RedHat
.. code:: bash
sudo yum install iperf3
Once the iperf3 utility is installed the simplest way to install the python wrapper is through
`PyPi <https://pypi.python.org/pypi/iperf3>`__
.. code:: bash
pip install iperf3
You can also install directly from the github repository:
.. code:: bash
git clone https://github.com/thiezn/iperf3-python.git
cd iperf3-python
python3 setup.py install
Quickstart
----------
For detailed examples check out the `examples page <http://iperf3-python.readthedocs.io/en/latest/examples.html>`__ or
the detailed documentation at `iperf3-python.readthedocs.org <https://iperf3-python.readthedocs.org/>`__
**Server**
.. code:: python
>>> import iperf3
>>> server = iperf3.Server()
>>> result = server.run()
>>> result.remote_host
'10.10.10.10'
**Client**
.. code:: python
>>> import iperf3
>>> client = iperf3.Client()
>>> client.duration = 1
>>> client.server_hostname = '127.0.0.1'
>>> client.port = 5201
>>> result = client.run()
>>> result.sent_Mbps
32583.293914794922
External Dependencies
---------------------
- iperf3
- libiperf.so.0 (Comes with iperf3 >= 3.0.6)
Testing
-------
- Tested against the following iperf3 versions on Linux:
- 3.0.6
- 3.0.7
- 3.0.8
- 3.0.9
- 3.0.10
- 3.0.11
- 3.0.12
- 3.1
- 3.1.1
- 3.1.2
- 3.1.3
- 3.1.4
- 3.1.5
- 3.1.6
- 3.1.7
- 3.2
- 3.3
- 3.4
- 3.5
- 3.6
- Test coverage reporting through `coveralls.io <https://coveralls.io/>`__
- Tested against the following Python versions:
- 2.7
- 3.6
.. |PyPi Status| image:: https://img.shields.io/pypi/v/iperf3.svg
:target: https://pypi.python.org/pypi/iperf3
.. |Build Status| image:: https://travis-ci.org/thiezn/iperf3-python.svg?branch=master
:target: https://travis-ci.org/thiezn/iperf3-python
.. |Coverage Status| image:: https://coveralls.io/repos/github/thiezn/iperf3-python/badge.svg?branch=master
:target: https://coveralls.io/github/thiezn/iperf3-python?branch=master
.. |Documentation Status| image:: https://readthedocs.org/projects/iperf3-python/badge/?version=latest
:target: http://iperf3-python.readthedocs.io/en/latest/?badge=latest
.. :changelog:
Release History
---------------
0.1.11 (2019-04-13)
++++++++++++++++++
- Fixed kB_s and MB_s in UDP test results (Thanks @gleichda)
- Added omit option (Thanks @ChristofKaufmann)
0.1.10 (2018-03-28)
+++++++++++++++++++
- Allow manual set of libiperf library path and name using lib_name kwarg on Iperf3 Class
0.1.9 (2018-02-22)
++++++++++++++++++
- Use find_library to load libiperf (Thanks to @Austinpayne). This should allow iperf3 lib to run on Mac OS X.
0.1.8 (2018-01-24)
++++++++++++++++++
- Fixed segmentation fault on several Linux distro's (Thanks to @illu89)
- Added Travis testing against latest iperf3 releases (3.3)
- Renamed bulksize argument to blksize to keep naming in line with iperf3 C library. bulksize argument still available for backwards compatibility
0.1.7 (2017-08-02)
++++++++++++++++++
- Fixed Mbps vs MB_s calculations (Thanks to @rustyhowell)
0.1.6 (2017-06-11)
++++++++++++++++++
- iperf3.__del__ now properly closing FD and pipes (Thanks to @p0intR)
0.1.5 (2017-05-22)
++++++++++++++++++
- iperf3.Client() now allows redirection of stdout (iperf3 version => 3.1 required)
0.1.4 (2017-05-15)
++++++++++++++++++
- Fixed server json_output=False feature
0.1.3 (2017-05-15)
++++++++++++++++++
- Added UDP support (thanks to @fciaccia)
- Added bandwidth parameter
- json_output = False will now print testresults to screen
0.1.2 (2016-09-22)
++++++++++++++++++
- Improved zerocopy setter validation
- Fix for incorrect return of reverse flag (thanks to @fciaccia)
0.1.1 (2016-09-12)
++++++++++++++++++
- Added reverse test parameter (thanks to @cvicente)
- Updated travis build to test against iperf3 versions 3.0.6 through 3.1.3
0.1.0 (2016-08-18)
++++++++++++++++++
**main functionality available**
- introduced TestResult class providing easy access into test results
- updated client and server examples
- minor documentation tweaks
0.0.1 (2016-08-18)
++++++++++++++++++
**Initial Release**
- Client and Server classes around iperf3's libiperf.so.0 API
- Documentation on readthedocs
- py.tests
- blood
- sweat
- a lot of tears

Release historyRelease notifications | RSS feed

0.1.11

0.1.10

0.1.9

0.1.8

0.1.7

0.1.6

0.1.5

0.1.4

0.1.3

0.1.2

0.1.1

0.1.0

0.0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for iperf3, version 0.1.11
Filename, sizeFile typePython versionUpload dateHashes
Filename, size iperf3-0.1.11.tar.gz (14.3 kB) File type Source Python version None Upload dateHashes
Close

Hashes for iperf3-0.1.11.tar.gz

Hashes for iperf3-0.1.11.tar.gz
AlgorithmHash digest
SHA256d50eebbf2dcf445a173f98a82f9c433e0302d3dfb7987e1f21b86b35ef63ce26
MD54b04205044c084ce17521e6476b61e50
BLAKE2-256d5c1ca9dee2fdd3bf403e90f949da4978ae9ba5330476f867ee8fb28f8c1c26e

Iperf is an open source networking tool used to measure throughput or performance of a network. It can be used to test TCP and UDP. Iperf can be used in Windows, Linux, and MAC etc operation system.

Intention of this article:

There are different versions of Iperf, we will only focus on Iperf version 2.+ only. This version is widely used in all systems.

General Set up diagram:

Iperf works in server client model that means there should be one server and one client to start Iperf traffic flow.

From the diagram we can understand that PC1 and PC2 should have valid IP address.

Connection between two PCs can be wired or wireless.

Actual Set up:

  1. In our experiment PC1 is windows and PC2 is Linux.
  2. PC1 IP is 192.168.1.6 and PC2 is 192.168.0.102
  3. PC1 iperf version

Command:

iperf --version
iperf version 2.0.5 (08 Jul 2010) pthreads

4. PC2 iperf version

Command:

iperf --version
iperf version 2.0.5 (08 Jul 2010) pthreads

Iperf Conditions:

There are some conditions before Iperf to work.

  1. PC1 should ping to PC2 and vice versa. We can use ping 192.168.1.102 from PC1 console or command line to see if PC1 is able to reach PC2. Do ping from PC2 to PC1 to check the reachbility of PC1 from PC3.

Here is one screenshot for ping from PC1 to PC2

Here is one screenshot for ping from PC2 to PC1

  1. Both PCs should Iperf binary. It’s better to keep same version of Iperf or close versions. But remember Iperf 2.0 does not work with Iperf 3.0.

Note: UDP does not establish any UDP connection before transferring data and UDP does not need any ACK from other side. So even if IPERF server is not running client will able send data unlike TCP. So always check in server side for UDP data.

Important Iperf Arguments:

ArgumentMeaning
-sRun server
-cRun Client [Ex: -c 192.168.1.102]
-uUDP
-bBandwidth [Used in UDP, Ex: 100M M->Mbits]
-iOutput interval in Sec [Ex: -i1 1sec interval]
-tTime in sec [Ex: -t60 60sec]
-pPort number [Ex: -p 5555]
-wWindows size [Ex: -w 1M M->Mbits]
-dBi-directional traffic
-lLength [Ex: -l 1046 1046bytes]
-VUsed when IPv6 address is used instead of IPv4

There are other arguments but not used in general. We can use man iperf command in Linux to get all arguments.

Iperf For Mac Os

Iperf commands:

Iperf For Mac Osx

There are many arguments for Iperf command, we will discuss on only important and useful arguments. Below are minimum arguments which can be used to run iperf.

TCP server:

TCP client:

UDP server:

UDP client:
iperf –c 192.168.1.102 –i1 –t60 –u –b 1000M
[/cc]

Start Iperf:

Now we have PC1 and PC2 so below combinations can be run between these two PCs.

  1. TCP server in PC1 and TCP client PC2
  2. TCP client in PC1 and TCP server PC2
  3. UDP server in PC1 and UDP client PC2
  4. UDP client in PC1 and UDP server PC2

Experiment 1:

Let’s try combination A

Here is the screenshot of TCP server in PC1.

So first we have to start server and if it’s successful then it will be in listing mode.

Here is the screenshot of TCP client in PC2.

Here is the screenshot for TCP server side

Next if we want to try combination B, then we just need to run TCP server in PC2 and TCP client in PC1.

Experiment 2:

Let’s try combination D.

Here is the screenshot of UDP server in PC2.

Iperf For Mac Os X

So first we have to start server and if it’s successful then it will be in listing mode.

Osx

Here is the screenshot of UDP client in PC1.

Here is the screenshot of UDP server output in PC2

Known Errors:

  1. Connect failed or connection refused:

When we run TCP client without TCP server this error occurs.

Here is the screenshot

  1. UDP without server:

When we run UDP client without server, we can identify this with some observations

  1. After UDP client throughput is completed, we should not any server report for average. Check the point B in below screenshot.
  2. Throughput may be higher than the connected bandwidth. Check the point A in below screenshot.
  3. Here is the expected UDP client screenshot

Iperf Macos Brew

Some experiemnt argument:

-w:

Window size can be increased.

Iperf Mac Os X Brew

Here is the screenshot for Default and Customized windows size:

-i:

Mac

Interval can be increased.

Here –t 20sec and –i 5sec so we should see Iperf output at 5sec interval. Here is the screenshot.

Summary:

Iperf3 Mac Os

To measure any performance in Wired or Wireless network Iperf is the basic requirement. As it’s an open source so can used without any license. Iperf gives quite accurate results with comparison to license tool like IxChariot.