2016-11-21 2 views
0

Я пытаюсь написать небольшой скрипт в Python 2.7, используя библиотеку-оболочку dpkt для анализа файла PCAP-образца.Обнаружение полуоткрытых сканирований при чтении файлов PCAP

Я действительно написал конкретные проверки для NULL-сканирований, например seq = 0 и флаги не установлены, но как это сделать для попыток полуоткрытого сканирования?

Я пытался сделать что-то вроде: 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- к-серверу, который отличается. Вы не найдете ни одного пакета, который идентифицирует полуоткрытый. Вам нужно будет искать поток/последовательность/разговор (что бы вы ни называли), который выглядит как полуоткрытый, который я описываю, и обычно происходит очень быстро (в идеале в течение нескольких миллисов, если все работает правильно).

Смежные вопросы