SYN、ACKなどを見つけるには、packet.findメソッドを使用する必要があります。 次は在庫部品でコードの行のカップルを追加します。我々は、最大mininetしているとしましょうと
sudo mn --controller remote
を実行しているPOXのforwarding.l2_pairsストックコンポーネント(鯉)
でほんの少しの修正であります我々は
0等mininetポックス成分とは異なる端末にそう
packet = event.parsed
tcp_found = packet.find('tcp')
if tcp_found:
if tcp_found.SYN:
print "SYN found"
実行のよう修正するevent.parsedパケットの後にライン41でforwarding.l2_pairs =
python pox.py forwarding.l2_pairs host_tracker openflow.discovery
さて、取得するために、いくつかのSYNフラグがのがmininet端子とセットアップデフォルトのPythonのhttpサーバ
h1 python -m SimpleHTTPServer 80 &
に行くと、ホストからダミーサーバーの内容を取得してみましょう2
h2 wget -O - h1
我々は、出力
INFO:forwarding.l2_pairs:Pair-Learning switch running.
INFO:host_tracker:host_tracker ready
INFO:core:POX 0.2.0 (carp) is up.
INFO:openflow.of_01:[00-00-00-00-00-01 1] connected
INFO:host_tracker:Learned 1 2 6e:6e:ca:c9:2b:93
INFO:host_tracker:Learned 1 2 6e:6e:ca:c9:2b:93 got IP 10.0.0.2
SYN found
INFO:host_tracker:Learned 1 1 52:3b:b2:ff:ff:b7
INFO:host_tracker:Learned 1 1 52:3b:b2:ff:ff:b7 got IP 10.0.0.1
SYN found
を調べるポックスl2_pairsコンポーネントを実行し、端末で
ここ
キャッチは、ACKなどPOXドキュメントSYNに述べたようにTCPが
TCP(TCP) 属性属性であるということです。...... FIN(ブール値)を - FINフラグが を設定するときはTrue SYN(ブール値) - 真のSYNフラグが を設定......
我々はfindメソッドを使用して、変数へのパケットのTCP部分を割り当て、それらの属性を取得するには、我々は使用して属性にアクセスドット(。)ex。
variable.attribute
(見つかった場合)。