問題タブ [pox]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - フロー ルールをインストールせずに Pox コントローラーがパケットを送信する方法
poxコントローラーを使用してワーム検出コードを書いています。コントローラーがパケットをホストに直接送信する関数を作成する方法を誰か教えてください。つまり、ホスト A がホスト B にフロー ルールとして ****TCPSYN**** パケットを送信すると仮定します。スイッチがコントローラーにパケットを送信するよりも利用できません.****コントローラー****がフロールールをインストールせずにホストBにパケットを送信する関数を書きたい.私はパケット処理コードを書いています.
def _handle_PacketIn (自己、イベント):
実際、私のアルゴリズムは
- 内部ホスト A が新しい外部ホスト B に TCP SYN を送信するとします。スイッチにはこのパケットに一致するフローがないため、POX コントローラに送信されます。
- POX コントローラで実行されている TRW-CB インスタンスは、フローを設定せずに、スイッチを介してこのパケットを転送するだけです。同時に、アルゴリズムは通常の処理も行います (つまり、A が以前に接続したホストのリストに B を追加し、接続要求を A のキューに追加します)。
- B からの 2 つの可能な応答は次のとおりです。SYNACK を受信すると、コントローラの TRW-CB インスタンスはスイッチに 2 つのフローをインストールします。最初のフローは、A から B に送信されたすべてのパケットに一致します。これには、IP src フィールドに A の IP アドレスが含まれ、IP dst フィールドに B の IP アドレスが含まれます。Ether タイプ (IP に設定されている) を除いて、フロー内の他のすべてのフィールドはワイルドカードです。2 番目のフローは最初のフローと似ていますが、B から A に送信されたすべてのパケットに一致します。各フローには、一致するパケットをスイッチの関連するポートから転送するアクションが含まれています。さらに、TRW-CB は通常の処理も行います (つまり、この接続要求を A のキューから削除し、A の尤度比を減らします)。
mininet - ホスト間の TCP 接続を確立する
指定したコントローラーが 2 つのホスト間で ping に成功した場合、Mininet を介してそれらの間で TCP 接続を確立することは可能ですか? 私はmininet>h0 ping h4
成功しましたが、pingはTCPではなくICMPパケットです!!
ありがとうございました
python - SDN pox コントローラー
poxコントローラーでtcpポートを見つけるには、コントローラーを起動した後でのみ、wiresharkを介してポートを探す必要があります.poxコントローラーでpythonプログラム自体を介してtcpポートを見つける方法はありますか
mininet - Northbound アプリケーションは localhost または Mininet ホストで実行されますか?
Pox と Mininet を使用して SDN 環境で Northbound アプリケーションを開発する場合、Northbound アプリケーションは localhost または Mininet ホストで実行されますか?
つまり、アプリケーションは REST を介して Pox コントローラーと通信します。次のようにコマンド プロンプトからアプリケーションを起動しますか。
または、Mininet ホストから次のように起動します。
python - IPAddr object has no attribute split エラーの解決方法
これが私のコードです
poxコントローラーでこのスクリプトを実行すると、エラーが発生します
/li>
python - Mininet で wget からの ACK パケットを特定する
mininet では、次のようにカスタム POX コントローラーでサーバーh1
とホスト間の TCP 接続を確立できました。h4
c0
h4
サーバーから HTTP ページを要求し、TCP 標準に基づいてサーバーを正常に認識し続けます。ここでは、パケット間の別のパスを使用して強制的にパケットをh4
送信できるようにしたいと考えています。ACK
転送やパスの作成に問題はありませんが、Ack
パケットをh4
送信する前にキャプチャまたは抽出する方法に問題があるため、必要に応じて転送できます。
ありがとうございました。
ddos - sdn pox コントローラーでの tcp syn フラッド
POX コントローラーと L2_learning モジュールを使用しています。私は単純なトポロジを持っています:3つのホストを持つ単一のオープンvSwitch(ミニネット内)。ホストの 1 つは http サーバーであり、1 つのホストは、1 秒あたり 50 個の偽造 SYN パケットを HTTP ホストに送信するために使用されます (hping3 を使用)。私の目的は、サーバーをシンフラッドすることです。また、SYNCookies 保護メカニズムを無効にしました。
攻撃を実行するとき、次のコマンドを使用して、サーバーでハーフオープン接続のリストを確認します:「netstat -an | grep : 80 | grep :-i syn」。私のLinuxのtcp_max_syn_backlogファイルは128に設定されていますが、サーバーで16のハーフオープン接続しかリストされていません。サーバーで128のハーフオープン接続が表示されることを期待していますが、サーバーは16のハーフオープン接続のみをリストしています また、100個の偽造tcp synパケットを送信しようとしましたが、サーバーは再び16個のハーフオープン接続をリストします。最大ハーフオープン接続のミニネット仮想ホストのどこかに16に設定されていると思いますが、どこにあるのかわかりません。mininet 仮想ホスト (私のサーバー) で tcp_max_syn_backlog ファイルを見ようとしましたが、「/proc/sys/net/ipv4」のパスには何もありませんでした。mininet 仮想ホストが 16 のハーフオープン接続のみを受け入れる理由と、それを変更する方法を知っている人はいますか? ありがとうございました