Install iperf3
sudo apt install iperf3
Basic usage
Server mode
iperf3 -s
iperf3 -s -p 5201
Client mode
iperf3 -c server-ip
iperf3 -c 192.168.1.100
Test duration
iperf3 -c server -t 30
iperf3 -c server -n 100M
TCP testing
iperf3 -c server
iperf3 -c server -R
iperf3 -c server --bidir
UDP testing
iperf3 -c server -u
iperf3 -c server -u -b 100M
iperf3 -c server -u -b 10M
Parallel streams
iperf3 -c server -P 4
Output formats
iperf3 -c server -J
iperf3 -c server
iperf3 -c server -i 1
IPv6
iperf3 -s -6
iperf3 -c server-ipv6 -6
Common scenarios
Test bandwidth
iperf3 -s
iperf3 -c server -t 10
Test latency (UDP)
iperf3 -c server -u -b 1M -t 30
Multiple streams
iperf3 -c server -P 10 -t 30
Reverse test
iperf3 -c server -R -t 10
Save results
iperf3 -c server -J > results.json
iperf3 -c server --logfile test.log
Port options
iperf3 -s -p 9999
iperf3 -c server -p 9999
iperf3 -s -B 192.168.1.100
Throughput testing script
#!/bin/bash
SERVER=$1
if [ -z "$SERVER" ]; then
echo "Usage: $0 <server-ip>"
exit 1
fi
echo "Testing TCP throughput..."
iperf3 -c $SERVER -t 10
echo -e "\nTesting UDP throughput (100 Mbps)..."
iperf3 -c $SERVER -u -b 100M -t 10
echo -e "\nTesting with 4 parallel streams..."
iperf3 -c $SERVER -P 4 -t 10
Firewall
sudo ufw allow 5201/tcp
sudo ufw allow 5201/udp
Troubleshooting
netstat -tuln | grep 5201
ss -tuln | grep 5201
telnet server 5201
nc -zv server 5201