0

「dpkt」ラッパー ライブラリを使用してサンプル PCAP ファイルを解析する小さなスクリプトを Python 2.7 で作成しようとしています。

seq = 0 の場合やフラグが設定されていない場合など、NULL スキャンの特定のチェックを正常に記述しましたが、ハーフ オープン スキャンの試行に対してはどのように行うのですか?

私は次のようなことをしようとしました: if SYN and RST flags are set print "Half-open" scan detected

しかし、上記のロジックは、半分開いた接続を持つ PCAP ファイルの例から接続を取得していません。

他に必要な確認事項はありますか?

4

1 に答える 1

0

通常の TCP ハンドシェイクと典型的な「ハーフオープン」TCP 接続ワークフロー (通常は監視と負荷分散に使用される) の違いは次のとおりです。

Normal
------
Client ---SYN---> Server
Client <-SYN,ACK- Server
Client ---ACK---> Server

Half-Open
---------
Client ---SYN---> Server
Client <-SYN,ACK- Server
Client ---RST---> Server

したがって、最後のクライアントからサーバーへのパケットのみが異なることがわかります。ハーフオープンを識別する単一のパケットは見つかりません。私が説明したハーフオープンのように見え、通常は非常に迅速に発生するフロー/シーケンス/会話 (名前は何でも) を探す必要があります (すべてが正しく機能している場合、理想的には数ミリ秒以内)。

于 2016-11-23T17:05:11.057 に答える