さまざまなバージョンの VNC によってネットワーク経由で転送された合計バイト数を記録したいと思います。私の計画は、VNC ビューアを起動し、スクリプトをリモートで実行して、いくつかのアクションを実行し、いくつかのグラフィックを表示してから切断することです。
Linux でこの 1 つのプロセスだけの総ネットワーク使用量を記録するにはどうすればよいですか? システムで起こっていること以外は測定したくありません。
さまざまなバージョンの VNC によってネットワーク経由で転送された合計バイト数を記録したいと思います。私の計画は、VNC ビューアを起動し、スクリプトをリモートで実行して、いくつかのアクションを実行し、いくつかのグラフィックを表示してから切断することです。
Linux でこの 1 つのプロセスだけの総ネットワーク使用量を記録するにはどうすればよいですか? システムで起こっていること以外は測定したくありません。
iftop
Linux コマンドを試す必要があります。
$ sudo iftop -i eth0 -P
server.example.com:ssh => client.example.com:51365 1.73kb 2.72kb 2.72kb
フィルターを使用したよりエレガントな方法:
$sudo iftop -i eth0 -f "dst port 22"
異なるポート番号で異なるバージョンの VNC ビューアを実行し、tcpdump などのツールを使用してそれらのポートへのすべてのトラフィックを記録できます。
プロセスごとにトラフィックを記録する方法があるかもしれませんが、ポートごとに記録する方がはるかに明白で簡単です
perl を使用して加算/フィルター処理する粗い例
sudo tcpdump -li eth1 ' port 5900'|perl -ne 'print $c,"\n"; $c+=$1 if (/length (\d+)/);'