|
|
@ -219,11 +219,24 @@ nfqws |
|
|
|
4. поддельная 1-я часть пакета, поле данных заполнено нулями. отсылка 2-й раз. |
|
|
|
Оригинальный пакет дропается всегда. Параметр --dpi-desync-split-pos позволяет указать байтовую позицию, на которой |
|
|
|
происходит разбивка. По умолчанию - 3. Если позиция больше длины пакета, позиция выбирается 1. |
|
|
|
Этой последовательностью для DPI максимально усложняется задача реконструкции начального сообщения, по которому принимается решение о блокировке. |
|
|
|
Некоторым DPI хватит и tcp сегментов в неправильном порядке, поддельные части сделаны для дополнительной надежности и более сложных |
|
|
|
алгоритмов реконструкции. |
|
|
|
Этой последовательностью для DPI максимально усложняется задача реконструкции начального сообщения, |
|
|
|
по которому принимается решение о блокировке. Некоторым DPI хватит и tcp сегментов в неправильном порядке, |
|
|
|
поддельные части сделаны для дополнительной надежности и более сложных алгоритмов реконструкции. |
|
|
|
Режим disorder2 отключает отправку поддельных частей. Он может быть использован как более быстрая альтернатива --wsize. |
|
|
|
|
|
|
|
Есть DPI, которые анализируют ответы от сервера, в частности сертификат из ServerHello, где прописаны домены. |
|
|
|
Подтверждением доставки ClientHello является ACK пакет от сервера с номером ACK sequence, соответствующим длине ClientHello+1. |
|
|
|
В варианте disorder обычно приходит сперва частичное подтверждение (SACK), потом полный ACK. |
|
|
|
Если вместо ACK или SACK идет RST пакет с минимальной задержкой, то DPI вас отсекает еще на этапе вашего запроса. |
|
|
|
Если RST идет после полного ACK спустя задержку, равную примерно двухкратному пингу до сервера, |
|
|
|
тогда вероятно DPI реагирует на ответ сервера. |
|
|
|
DPI может отстать от потока, если ClientHello его удовлетворил и не проверять ServerHello. |
|
|
|
Тогда вам повезло. Вариант fake может сработать. |
|
|
|
Если же он не отстает и упорно проверяет ServerHello, еще и выполняя реконструкцию сегментов TCP, |
|
|
|
то сделать с этим что-либо вряд ли возможно без помощи со стороны сервера. |
|
|
|
Лучшее решение - включить на сервере поддержку TLS 1.3. В нем сертификат сервера передается в зашифрованном виде. |
|
|
|
Это рекомендация ко всем админам блокируемых сайтов. Включайте TLS 1.3. Так вы дадите больше возможностей преодолеть DPI. |
|
|
|
|
|
|
|
hostlist относится только к атаке desync. он не работает для других параметров. при попытке запустить nfqws с hostlist и без dpi-desync будет ошибка. |
|
|
|
Хосты извлекаются из Host: хедера обычных http запросов и из SNI в TLS ClientHello. |
|
|
|
Субдомены учитываются автоматически. Поддерживаются листы gzip. |
|
|
|