2016-11-21 10 views
0

サンプルPCAPファイルを解析するために "dpkt"ラッパーライブラリを使用してPython 2.7で小さなスクリプトを作成しようとしています。PCAPファイルを読むときに半開スキャンを検出する

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

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

をしかし、上記のロジックは、ハーフオープン接続して例のPCAPファイルからの接続を拾っていません。

追加のチェックが必要ですか?

答えて

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 

だから、それが唯一の最後のClientだ見ます異なるサーバー間パケットを送信します。ハーフオープンを識別する単一のパケットは見つかりません。あなたは私が記述した半開きのように見えるフロー/シーケンス/会話(あなたが呼んでいても何でも)を探す必要があり、通常は非常に迅速に(理想的にはすべてがうまくいけば数ミリ秒以内に)起こります。

関連する問題