nfqws: change default split-pos from 3 to 2

This commit is contained in:
root 2021-12-22 11:21:47 +03:00
parent 8bdb5dc5b9
commit f2d083499e
12 changed files with 4 additions and 4 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -419,7 +419,7 @@ pktws_check_domain_bypass()
s="$s --hostcase" s="$s --hostcase"
pktws_curl_test $1 $3 $s && strategy="${strategy:-$s}" pktws_curl_test $1 $3 $s && strategy="${strategy:-$s}"
} }
for pos in 1 2 4 5 10 50 100; do for pos in 1 3 4 5 10 50 100; do
s="--dpi-desync=split2 --dpi-desync-split-pos=$pos" s="--dpi-desync=split2 --dpi-desync-split-pos=$pos"
if pktws_curl_test $1 $3 $s; then if pktws_curl_test $1 $3 $s; then
strategy="${strategy:-$s}" strategy="${strategy:-$s}"

View File

@ -211,7 +211,7 @@ Disorder mode splits original packet and sends packets in the following order :
3. 1st segment 3. 1st segment
4. fake 1st segment, data filled with zeroes (2nd copy) 4. fake 1st segment, data filled with zeroes (2nd copy)
Original packet is always dropped. `--dpi-desync-split-pos` sets split position (default 3). Original packet is always dropped. `--dpi-desync-split-pos` sets split position (default 2).
If position is higher than packet length, pos=1 is used. If position is higher than packet length, pos=1 is used.
This sequence is designed to make reconstruction of critical message as difficult as possible. This sequence is designed to make reconstruction of critical message as difficult as possible.
Fake segments may not be required to bypass some DPIs, but can potentially help if more sophisticated reconstruction Fake segments may not be required to bypass some DPIs, but can potentially help if more sophisticated reconstruction

View File

@ -262,7 +262,7 @@ nfqws
3. 1-я часть пакета 3. 1-я часть пакета
4. поддельная 1-я часть пакета, поле данных заполнено нулями. отсылка 2-й раз. 4. поддельная 1-я часть пакета, поле данных заполнено нулями. отсылка 2-й раз.
Оригинальный пакет дропается всегда. Параметр --dpi-desync-split-pos позволяет указать байтовую позицию, на которой Оригинальный пакет дропается всегда. Параметр --dpi-desync-split-pos позволяет указать байтовую позицию, на которой
происходит разбивка. По умолчанию - 3. Если позиция больше длины пакета, позиция выбирается 1. происходит разбивка. По умолчанию - 2. Если позиция больше длины пакета, позиция выбирается 1.
Этой последовательностью для DPI максимально усложняется задача реконструкции начального сообщения, Этой последовательностью для DPI максимально усложняется задача реконструкции начального сообщения,
по которому принимается решение о блокировке. Некоторым DPI хватит и tcp сегментов в неправильном порядке, по которому принимается решение о блокировке. Некоторым DPI хватит и tcp сегментов в неправильном порядке,
поддельные части сделаны для дополнительной надежности и более сложных алгоритмов реконструкции. поддельные части сделаны для дополнительной надежности и более сложных алгоритмов реконструкции.

View File

@ -543,7 +543,7 @@ int main(int argc, char **argv)
params.desync_fwmark = DPI_DESYNC_FWMARK_DEFAULT; params.desync_fwmark = DPI_DESYNC_FWMARK_DEFAULT;
params.desync_skip_nosni = true; params.desync_skip_nosni = true;
params.desync_split_pos = 3; params.desync_split_pos = 2;
params.desync_repeats = 1; params.desync_repeats = 1;
params.fake_tls_size = sizeof(fake_tls_clienthello_default); params.fake_tls_size = sizeof(fake_tls_clienthello_default);
memcpy(params.fake_tls,fake_tls_clienthello_default,params.fake_tls_size); memcpy(params.fake_tls,fake_tls_clienthello_default,params.fake_tls_size);