POX 制御プログラムからホストに ping を実行し、応答を確認したいと考えています。ホストが実際に存在するかどうかをテストするためにこれを実行したいと思います。制御プログラムからホストに ping を送信するにはどうすればよいですか?
1 に答える
0
迅速な解決策は、python 言語と os 機能を使用して ping を実行することです。
sudo mn --controller=remote
最初に、ping がホストへのルートを見つけるために、スイッチに IP を与えます。mininet vm に ssh するための新しいターミナルを開きます
ssh -X mininet@192.168.56.101
mininet vm の IP が異なる場合は、192.168.56.101 を変更します。この新しい端末タイプでは
ifconfig s1
次のようなものを取得する必要があります
Link encap:Ethernet HWaddr fa:64:44:9a:f9:4f UP BROADCAST RUNNING MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
これは、スイッチに IP がないことを示しています。スイッチに IP を与えるには、次のことを行う必要があります
sudo ifconfig s1 10.0.1.1
次に、POX プログラムから、このスイッチ (つまり、10.0.0.1) に接続されているホストに ping を実行します。
import os
host_ip = "10.0.0.1" #the host ip you want to ping from controller
response = os.system("ping -c 1 " + host_ip)
#check the response...
if response == 0:
print host_ip, 'is up!'
else:
print host_ip, 'is down!'
于 2016-06-06T17:09:07.420 に答える