2017-05-09 9 views
0

私はネットワークの世界で新しいです。私は3つのホスト、1つのスイッチとコントローラを含むシンプルなSDNを作った。私はtcpprobeを使ってトラフィックを監視したいと思います。私はxterm h1を使って端末を開いてシェルを走らせました。私はh2でiperfサーバーも作った。 SSH端末を使うと、tcpprobeは/ proc/net /ディレクトリに存在しませんでした。 SSHを使用した場合、/ proc/net /にtcpprobeは存在しません

enter image description here

は、しかし、私は私のVM上でそれをインストールし、それは私のVMのは/ proc /ネット/に存在しています。ここで

enter image description here

sudo apt-get install transcode 

私のシェルコードは次のとおりです。

#!/bin/bash 

#used variables 
eth=h1-eth0 
port_to_probe=5001 
#we will probe the iperf port 
server_addr=10.0.0.2 

#LOAD TCP CONGESTION CONTROL MODULES 
modprobe tcp_probe port=$port_to_probe full=1 bufsize=50 

for time_test in 10 20 30 60 10 20 
do 

echo "Traffic transmission time set to " $time_test "s randomly.\n" 

#start logging data 
sudo cat /proc/net/tcpprobe > tcprobe.dat & 

#get the cat process ID to later kill it 
pid=$! 
#kill the logger 
kill $pid 

done 

誰も私を助けることができますか?

答えて

0

問題は、各SSHがポートを使用してVMに接続し、アドレスが/proc/net/.に変更されたことです。この問題を解決するには、上記のアドレスを/proc/6337/net/に変更すれば十分です。実際にこのアドレスを読むことで、実際のVMディレクトリを読み取ることができます。したがって、最終的なコードは次のように変更されます:

関連する問題