iperf3をWindowsで使いたいとき、検索して最初に出てくる公式サイトのバイナリは2016年公開の3.1.3で止まっている。ここでつまずく人が多いので、最新版の入手方法をまとめる。
結論:入手先は3つ
| 方法 | 対象 | 手軽さ |
|---|---|---|
| winget | Windows 10 (1809以降) / 11 | 最も簡単 |
| GitHub(ar51an/iperf3-win-builds) | Windows 64bit | zipを展開するだけ |
| iperf.fr | 公式。ただしWindows版は2016年で更新停止 | 非推奨 |
急いでいるなら winget を使う。コマンド1行で終わる。
公式サイトのWindows版が古い理由
iperf.fr は iperf3 の公式配布サイトだが、Windows向けのバイナリ提供は3.1.3(2016年6月)が最後になっている。
現在の iperf.fr のダウンロードページは、Windows版については外部のビルド配布先を案内する形に変わっている。公式サイトを開いて「最新のものをクリック」しても、10年前のバージョンが手に入るだけになる。
Linux版やmacOS版はパッケージマネージャ経由で最新版が入るため、この問題はWindowsに限った話になる。
方法1:wingetでインストールする(推奨)
Windows 10(バージョン1809以降)とWindows 11には winget が標準で入っている。
インストール
winget install --id ar51an.iPerf3 --exact
確認
iperf3 --version
バージョンが表示されればインストール完了。パスも自動で通るため、どのフォルダからでも iperf3 と打てば実行できる。
更新
winget upgrade --id ar51an.iPerf3 --exact
アンインストール
winget uninstall --id ar51an.iPerf3 --exact
zipの展開もパス設定も不要なので、特に理由がなければこの方法でよい。
方法2:GitHubからzipで入手する
winget が使えない環境や、インストールせず持ち運びたい場合はこちら。
https://github.com/ar51an/iperf3-win-builds/releasesを開く- 最新リリースの Assets から
iperf-<バージョン>-win64.zipをダウンロード - 任意のフォルダに展開する(例:
C:\iperf3\)
展開すると iperf3.exe と、必要なDLL(cygwin1.dll など)が入っている。exeだけを取り出して移動すると動かないので、フォルダごと配置すること。
このリポジトリは、オリジナルのソースコードを改変せずにビルドしたバイナリを公開しているもので、リリース前にVirusTotalでのチェックも行われている。
実行してみる
cd C:\iperf3
iperf3.exe --version
インストーラーではない点に注意
zipを展開してもインストーラーは入っていない。iperf3.exe をダブルクリックしても、一瞬コマンドプロンプトが開いて閉じるだけで何も起きない。
iperf3 はコマンドラインから使うツールなので、必ずコマンドプロンプトかPowerShellから実行する。
パスを通して、どこからでも使えるようにする
方法2で入れた場合、毎回 cd C:\iperf3 と移動するのは面倒なので、環境変数にパスを追加しておく。
- 「システム環境変数の編集」を開く
- 「環境変数」→ ユーザー環境変数の
Pathを選んで「編集」 - 「新規」で
C:\iperf3を追加 - コマンドプロンプトを開き直す
これで任意のフォルダから iperf3 と打てるようになる。
iperf3 --version
ファイアウォールの設定
iperf3 はサーバ側が 5201番ポート(TCP/UDP) で待ち受ける。Windowsファイアウォールが有効だと、クライアントから接続できずタイムアウトする。
サーバ側にする端末で、5201番の受信を許可しておく。
netsh advfirewall firewall add rule name="iperf3" dir=in action=allow protocol=TCP localport=5201
netsh advfirewall firewall add rule name="iperf3-udp" dir=in action=allow protocol=UDP localport=5201
管理者権限のコマンドプロンプトで実行する。検証が終わったら削除しておく。
netsh advfirewall firewall delete rule name="iperf3"
netsh advfirewall firewall delete rule name="iperf3-udp"
初回実行時にWindowsが許可を尋ねるダイアログを出すこともある。その場合は「アクセスを許可する」を選べばよい。
32bit環境の場合
ar51an のリポジトリは64bit版のみを配布している。32bit環境が必要な場合は、iperf.fr の古い32bitバイナリを使うか、他のビルド配布を探すことになる。ただし現在のWindows環境で32bitが必要なケースはほとんどない。
Linuxの場合
パッケージマネージャから入る。
# Ubuntu / Debian
sudo apt install iperf3
# RHEL / CentOS / Rocky
sudo dnf install iperf3
ディストリビューションのリポジトリにあるバージョンが古い場合は、iperf.fr で配布されている .deb パッケージを使う方法もある。
うまくいかないときの確認ポイント
| 症状 | 原因と対処 |
|---|---|
| ダブルクリックしても何も起きない | 正常。コマンドプロンプトから実行する |
iperf3 は認識されていません |
パスが通っていない。フォルダに移動するか環境変数を設定する |
| DLLが見つからないエラー | exeだけ移動している。zipのフォルダごと配置する |
| クライアントから接続できない | サーバ側の5201番がファイアウォールで塞がれている |
| バージョンが3.1.3のまま | 公式サイトから取得している。GitHubかwingetを使う |
準備ができたら
インストールが終わったら、実際に帯域測定をしてみる。サーバ側とクライアント側で1台ずつ用意する形になる。