指定されたスループットでトラフィックを生成する

指定されたスループットでトラフィックを生成する

私のネットワークをテストするために、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、過去に使用していたツールの中で最も信頼できるものではない)を使用でき、最初にインストールする必要がありますpvnetcat
ほとんどpvnetcatディストリビューションで利用可能)。
受信サイトでは、アクセス可能なポートにリスニングソケットが必要です。

#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=10001000個のランダム文字(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

おすすめ記事