Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ethr — TCP、UDP、HTTP、HTTPS、ICMPを使用したネットワークパフォーマンステスト用のクロスプラットフォームCLI:帯域幅、接続数/秒、パケット数/秒、レイテンシ、パケット損失、ジッタ、ping、traceroute。 | Kitploit
ツール/GitHubGitHub/microsoft/ethr
汎用ユーティリティネットワークマッピング情報収集
GitHubmicrosoft/ethr

ethr

TCP、UDP、HTTP、HTTPS、ICMPを使用したネットワークパフォーマンステスト用のクロスプラットフォームCLI:帯域幅、接続数/秒、パケット数/秒、レイテンシ、パケット損失、ジッタ、ping、traceroute。

リポジトリを見る
5.9k4051ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Ethr Build Status

Ethr は、golang で書かれたクロスプラットフォーム対応のネットワークパフォーマンス測定ツールです。このプロジェクトの目標は、帯域幅、接続数/秒、パケット数/秒、遅延、損失、ジッターといった包括的なネットワークパフォーマンス測定を、TCP、UDP、HTTP、HTTPS などの複数のプロトコルにわたって、Windows、Linux、その他の Unix システムなどの複数のプラットフォームで提供するネイティブツールを提供することです。

Ethr server in action

Ethr は、既存のオープンソースのネットワークパフォーマンスツールから着想を得て、それらのアイデアを基に構築されています。帯域幅測定については、TCP および UDP トラフィックにおいて iPerf3 と似ています。iPerf3 には、帯域制限付きテストやより豊富な機能セットなど、より多くのオプションがありますが、Ethr は複数スレッドをサポートしており、1024 以上の接続数にスケールでき、複数のクライアントが単一のサーバーと通信することなどが可能です。遅延測定については、Windows の latte や Linux の sockperf に似ています。

Ethr は他のツールと比較して、より多くのテスト測定を提供します。例えば、帯域幅、接続数/秒、パケット数/秒、遅延、TCP 接続セットアップ遅延の測定をすべて単一のツールで提供します。将来は、ネットワークパフォーマンス測定のための包括的なツールにするために、より多くの機能を追加(他の人々の貢献を期待)し、より多くのプロトコルをサポートする計画があります。

Ethr は golang のおかげで、機能を制限する可能性のある cygwin のような抽象化レイヤーを介したコンパイルとは異なり、ネイティブにクロスプラットフォームです。iPerf3、ntttcp、psping、sockperf、latte などのツールの機能を組み合わせ、複数のプラットフォームと複数のプロトコルにわたって単一のツールを提供することで、パフォーマンス測定を統一することを目指しています。

インストール

ダウンロード

https://github.com/Microsoft/ethr/releases/latest

Linux

root@kitploit:~
wget https://github.com/microsoft/ethr/releases/latest/download/ethr_linux.zip
unzip ethr_linux.zip

Windows Powershell

root@kitploit:~
wget https://github.com/microsoft/ethr/releases/latest/download/ethr_windows.zip -OutFile ethr_windows.zip
Expand-Archive .\ethr_windows.zip -DestinationPath .

OSX

root@kitploit:~
wget https://github.com/microsoft/ethr/releases/latest/download/ethr_osx.zip
unzip ethr_osx.zip

ソースからのビルド

注: ソースからビルドするには、go バージョン 1.11 以降が必要です。

Ethr の依存関係を管理するために go-module を使用しています。詳細については、go-modules の使い方 を確認してください。

root@kitploit:~
git clone https://github.com/Microsoft/ethr.git
cd ethr
go build

ethr が $GOPATH/src ツリー内にクローンされている場合は、GO111MODULE=on を指定して go コマンドを実行してください!

Docker

以下のコマンドでイメージをビルドします:

root@kitploit:~
docker build -t microsoft/ethr .

バイナリを作成:

Linux

root@kitploit:~
docker run -e GOOS=linux -v $(pwd):/out microsoft/ethr make build-docker

Windows

root@kitploit:~
docker run -e BINARY_NAME=ethr.exe -e GOOS=windows -v $(pwd):/out microsoft/ethr make build-docker

OS X

root@kitploit:~
docker run -e BINARY_NAME=ethr -e GOOS=darwin -v $(pwd):/out microsoft/ethr make build-docker

go get の使用

root@kitploit:~
go get github.com/microsoft/ethr

ArchLinux AUR の使用

yay (https://github.com/Jguer/yay) を使用している場合:

root@kitploit:~
yay -S ethr

Nuget パッケージの公開

「ソースからのビルド」のトピックに従って ethr.exe をビルドします。

新しいリリースバージョンを追加するために ethr.nuspec を変更します。

root@kitploit:~
vim ethr.nuspec

nuget パッケージを作成します (例: Ethr.0.2.1.nupkg)。

root@kitploit:~
nuget.exe pack ethr.nuspec

パッケージを nuget.org にアップロードします。

使い方

簡単な使い方

ヘルプ:

root@kitploit:~
ethr -h

サーバー:

root@kitploit:~
ethr -s

テキスト UI 付きサーバー:

root@kitploit:~
ethr -s -ui

クライアント:

root@kitploit:~
ethr -c <server ip>

例:

root@kitploit:~
// サーバーを起動
ethr -s

// 1 スレッドを使用してデフォルト(帯域幅)テスト測定のクライアントを起動
ethr -c localhost

// 8 スレッドを使用して帯域幅テストを開始
ethr -c localhost -n 8

// 64 スレッドを使用してサーバー 10.1.0.11 への接続数/秒テストを開始
ethr -c 10.1.0.11 -t c -n 64

// ポート 9999 で Ethr サーバーを実行
./ethr -s -port 9999

// ポート 9999 の ethr サーバーへの TCP 接続セットアップ遅延を測定
// Ethr サーバーが IP アドレス 10.1.1.100 のサーバーで実行されていると仮定
./ethr -c 10.1.1.100 -p tcp -t pi -d 0 -4 -port 9999

// ポート 443 の www.github.com への TCP 接続セットアップ遅延を測定
./ethr -x www.github.com:443 -p tcp -t pi -d 0 -4

// ポート 443 の www.github.com への TCP 接続セットアップ遅延を測定
// 注: ここではポート 443 は https から自動的に設定されます
./ethr -x https://www.github.com -p tcp -t pi -d 0 -4

// www.github.com への ICMP ping 遅延を測定
sudo ./ethr -x www.github.com -p icmp -t pi -d 0 -4

// Linux の mtr と同様の測定を実行
sudo ./ethr -x www.github.com -p icmp -t mtr -d 0 -4

// 1 バイトの小さなパケットを送信して UDP 上のパケット数/秒を測定
./ethr -c 172.28.192.1 -p udp -t p -d 0

既知の問題と要件

Windows

ICMP 関連のテスト (Ping、TraceRoute、MyTraceRoute) では、Windows はファイアウォールで ICMP を許可する必要があります。これは、PowerShell で次のコマンドを使用して行うことができます。ただし、これはセットアップのセキュリティポリシーで許可されている場合にのみ使用してください。

root@kitploit:~
// IPv4 のファイアウォール経由で ICMP パケットを許可
New-NetFirewallRule -DisplayName "ICMP_Allow_Any" -Direction Inbound -Protocol ICMPv4 -IcmpType Any -Action Allow  -Profile Any -RemotePort Any

// IPv6 のファイアウォール経由で ICMP パケットを許可
New-NetFirewallRule -DisplayName "ICMPV6_Allow_Any" -Direction Inbound -Protocol ICMPv6 -IcmpType Any -Action Allow  -Profile Any -RemotePort Any

さらに、TCP ベースの TraceRoute および MyTraceRoute では、管理者モードが必要です。そうしないと、Ethr は ICMP TTL 超過メッセージを受信できません。

Linux

ICMP Ping、ICMP/TCP TraceRoute、MyTraceRoute には、sudo による特権モードが必要です。

完全なコマンドライン

共通パラメータ

root@kitploit:~
	-h 
		ヘルプ
	-no 
		ファイルへのログ記録を無効にします。ファイルへのログ記録はデフォルトで有効です。
	-o <filename>
		ログファイルの名前。デフォルトでは、次のファイル名が使用されます:
		サーバーモード: 'ethrs.log'
		クライアントモード: 'ethrc.log'
	-debug 
		ログ出力にデバッグ情報を有効にします。
	-4 
		IP v4 バージョンのみを使用します
	-6 
		IP v6 バージョンのみを使用します

サーバーモードパラメータ

root@kitploit:~
このモードでは、Ethr はサーバーとして実行され、複数のクライアントが
サーバーに対してパフォーマンステストを実行できるようにします。
	-s 
		サーバーモードで実行します。
	-ip <string>
		TCP および UDP テスト用に指定されたローカル IP アドレスにバインドします。
		これは有効な IPv4 または IPv6 アドレスである必要があります。
		デフォルト: <空> - 任意の IP
	-port <number>
		TCP および UDP テスト用に指定されたポート番号を使用します。
		デフォルト: 8888
	-ui 
		出力をテキスト UI で表示します。

クライアントモードパラメータ

root@kitploit:~
このモードでは、Ethr クライアントは Ethr サーバーとのみ通信できます。
	-c <server>
		クライアントモードで実行し、<server> に接続します。
		サーバーは、名前、FQDN、または IP アドレスで指定されます。
	-b <rate>
		毎秒のビット数だけを送信します (形式: <num>[K | M | G])
		帯域幅テストでのみ有効です。デフォルト: 0 - 無制限
		例: 100 (100bits/s)、1M (1Mbits/s)。
	-cport <number>
		TCP および UDP テスト用にクライアントで指定されたローカルポート番号を使用します。
		デフォルト: 0 - エフェメラルポート
	-d <duration>
		テストの期間 (形式: <num>[ms | s | m | h]
		0: 無期限に実行
		デフォルト: 10s
	-g <gap>
		連続する測定間の時間間隔 (形式: <num>[ms | s | m | h]
		遅延、ping、traceRoute テストでのみ有効です。
		0: 間隔なし
		デフォルト: 1s
	-i <iterations>
		各遅延測定のラウンドトリップ反復回数。
		遅延テストでのみ有効です。
		デフォルト: 1000
	-ip <string>
		TCP および UDP テスト用に指定されたローカル IP アドレスにバインドします。
		これは有効な IPv4 または IPv6 アドレスである必要があります。
		デフォルト: <空> - 任意の IP
	-l <length>
		使用するバッファの長さ (形式: <num>[KB | MB | GB])
		帯域幅テストでのみ有効です。最大 1GB。
		デフォルト: 16KB
	-n <number>
		並列セッション数(およびスレッド数)。
		0: CPU 数と同じ
		デフォルト: 1
	-p <protocol>
		プロトコル ("tcp"、"udp"、"http"、"https"、または "icmp")
		デフォルト: tcp
	-port <number>
		TCP および UDP テスト用に指定されたポート番号を使用します。
		デフォルト: 8888
	-r 
		帯域幅テストでは、サーバーからクライアントにデータを送信します。
	-t <test>
		実行するテスト ("b"、"c"、"p"、"l"、"cl"、または "tr")
		b: 帯域幅
		c: 接続数/秒
		p: パケット数/秒
		l: 遅延、損失、ジッター
		pi: Ping 損失と遅延
		tr: TraceRoute
		mtr: 損失と遅延を含む MyTraceRoute
		デフォルト: b - 帯域幅測定。
	-tos 
		IPv4 TOS フィールドまたは IPv6 トラフィッククラスフィールドで使用する 8 ビット値を指定します。
	-w <number>
		ウォームアップに使用する反復回数を指定します。
		デフォルト: 1
	-T <string>
		ログファイルで結果を記録するために指定されたタイトルを使用します。
		デフォルト: <空>		

外部モードパラメータ

root@kitploit:~
このモードでは、Ethr は Ethr 以外のサーバーと通信します。このモードは、
Ping、接続数/秒、TraceRoute などのいくつかの種類の測定のみをサポートします。
	-x <destination>
		外部クライアントモードで実行し、<destination> に接続します。
		<destination> は URL または Host:Port 形式で指定されます。
		URL の場合、ポートが指定されていないと、http では 80、https では 443 と見なされます。
		例: TCP - www.microsoft.com:443 または 10.1.0.4:22 または https://www.github.com
		         ICMP - www.microsoft.com または 10.1.0.4
	-cport <number>
		TCP および UDP テスト用にクライアントで指定されたローカルポート番号を使用します。
		デフォルト: 0 - エフェメラルポート
	-d <duration>
		テストの期間 (形式: <num>[ms | s | m | h]
		0: 無期限に実行
		デフォルト: 10s
	-g <gap>
		連続する測定間の時間間隔 (形式: <num>[ms | s | m | h]
		遅延、ping、traceRoute テストでのみ有効です。
		0: 間隔なし
		デフォルト: 1s
	-ip <string>
		TCP および UDP テスト用に指定されたローカル IP アドレスにバインドします。
		これは有効な IPv4 または IPv6 アドレスである必要があります。
		デフォルト: <空> - 任意の IP
	-n <number>
		並列セッション数(およびスレッド数)。
		0: CPU 数と同じ
		デフォルト: 1
	-p <protocol>
		プロトコル ("tcp"、または "icmp")
		デフォルト: tcp
	-t <test>
		実行するテスト ("c"、"cl"、または "tr")
		c: 接続数/秒
		pi: Ping 損失と遅延
		tr: TraceRoute
		mtr: 損失と遅延を含む MyTraceRoute
		デフォルト: pi - Ping 損失と遅延。
	-tos 
		IPv4 TOS フィールドまたは IPv6 トラフィッククラスフィールドで使用する 8 ビット値を指定します。
	-w <number>
		ウォームアップに使用する反復回数を指定します。
		デフォルト: 1
	-T <string>
		ログファイルで結果を記録するために指定されたタイトルを使用します。
		デフォルト: <空>		

ステータス

プラットフォームサポート

Windows

テスト済み: Windows 10、Windows 7 SP1

未テスト: その他の Windows バージョン

Linux

テスト済み: Ubuntu Linux 18.04.1 LTS、OpenSuse Leap 15

未テスト: その他の Linux バージョン

OSX

テスト済み: OSX はコントリビューターによってテストされています

その他

現時点では他のプラットフォームはテストされていません

やることリスト

やることリストの作業項目を以下に示します。これらの作業項目や、その他の機能、バグ修正への貢献を歓迎します。

  • 他の Windows バージョン、他の Linux バージョン、FreeBSD、およびその他の OS で Ethr をテストする
  • UDP 遅延、TraceRoute、MyTraceRoute のサポート

貢献

このプロジェクトでは、貢献と提案を歓迎します。ほとんどの貢献には、あなたの貢献を使用する権利が実際にあり、使用を許可することに同意することを宣言する Contributor License Agreement (CLA) への同意が必要です。詳細については、https://cla.microsoft.com をご覧ください。

プルリクエストを送信すると、CLA ボットが CLA を提供する必要があるかどうかを自動的に判断し、PR を適切に装飾します(例: ラベル、コメント)。ボットから提供される指示に従ってください。これは、CLA を使用するすべてのリポジトリで一度だけ行う必要があります。

このプロジェクトは、Microsoft Open Source Code of Conduct を採用しています。 詳細については、Code of Conduct FAQ を参照するか、追加の質問やコメントがある場合は [email protected] までお問い合わせください。

ツールをダウンロード
プロトコル帯域幅接続数/秒パケット数/秒遅延PingTraceRouteMyTraceRoute
TCPはいはい該当なしはいはいはいはい
UDPはい該当なしはいいいえ該当なしいいえいいえ
ICMPいいえ該当なし該当なし該当なしはいはいはい