Статья в блоге, цитируемая в других ответах, не совсем верна. Дело не только в том, что вы не завершаете трехстороннее рукопожатие, но и в том, что стек IP ядра не знает, что происходит соединение. Когда он получает SYN-ACK
, он отправляет RST-ACK
, потому что это неожиданно. Получение первого или последнего действительно не входит в это. Стек получает SYN-ACK
является проблемой.
Использование IPTables для отбрасывания исходящих RST
пакетов является распространенным и верным подходом, но иногда вам нужно отправить RST
из Scapy. Более сложный, но очень работоспособный подход состоит в том, чтобы идти ниже, генерируя и реагируя на ARP с MAC, который отличается от хоста. Это позволяет вам иметь возможность отправлять и получать что-либо без какого-либо вмешательства со стороны хоста.
Очевидно, что это больше усилий. Лично я использую этот подход (в отличие от подхода RST
отбрасывания), когда мне действительно нужно отправить RST
сам.