私のネットワークをテストするために、2つのホスト間でx MB / sを転送したいと思います。大量のデータを転送するために使用できることを認識していますが、帯域幅を設定するためのping
ソリューションが必要です(非常に正確である必要はありません)。
$ sendTrafic --throughput 10M 10.0.0.1
どうすればいいのかご存知ですか?scappy
毎秒x回実行されるスクリプトについて考えましたが、より良いことが必要です。
編集:次のソリューションを使用しました。
# On receiving node:
iperf -s -u
# On sending node:
iperf -c <ip> -u -b 10m -t 30
最初のホストをUDPサーバーとして構成し、2番目のホストをUDPクライアントとして構成し、30秒間10 Mb / sで送信します。
みんなの助けに感謝します。
ベストアンサー1
インストールしたくない場合iperf
(IMHO、過去に使用していたツールの中で最も信頼できるものではない)を使用でき、最初にインストールする必要がありますpv
(netcat
ほとんどpv
のnetcat
ディストリビューションで利用可能)。
受信サイトでは、アクセス可能なポートにリスニングソケットが必要です。
#if you want the output you can remove the redirection or redirect it to a different file.
#if you want to listen to a TCP port below 1024 you will need to use root
nc -l 4444 > /dev/null
送信するコンピューターでは、次のコマンドを使用します。
dd if=/dev/urandom bs=1000 count=1000 | pv -L 10M | nc <ip> 4444
dd if=/dev/urandom bs=1000 count=1000
1000個のランダム文字(1000バイト)で構成されるブロックが1000回送信されます(1000B * 1000 = 1MB)。数を調整して送信されるデータ量を増やすことができます。
pv -L 10M
:書き込み速度を10MB /秒(* 1024)に制限します。
netcat <ip> 4444
データはポートTCP 4444を介してIPに送信されます。
以下を使用して、より多くのデータまたは物理ファイルを送信できます。
cat /some/files| pv -L 1M | nc <ip> 4444
反対側:
nc -l 4444 > /some/destinationfiles