diff --git a/README.md b/README.md index 0f58a76..3362d2d 100644 --- a/README.md +++ b/README.md @@ -81,6 +81,7 @@ ciadpi --fake -1 --ttl 8 -R, --round К каким/какому запросу применять запутывание + По умолчанию 1, т.е. к первому запросу -s, --split Разбить запрос по указанной позиции @@ -118,7 +119,7 @@ ciadpi --fake -1 --ttl 8 Установить опции для фейкового IP пакета Существенно снизит вероятность, что пакет дойдет до сервера Стоит учесть, что до DPI он также может не дойти - В Windows поддержка может быть отключена + В Windows не поддерживается -S, --md5sig Установить опцию TCP MD5 Signature для фейкового пакета @@ -130,12 +131,14 @@ ciadpi --fake -1 --ttl 8 -l, --fake-data Указать свои поддельные пакеты + Строка может содержать escape символы (\n,\0,\0x10) -e, --oob-data Байт, отсылаемый вне основного потока, по умолчанию 'a' + Можно указать ASCII или escape символ -n, --tls-sni - Изменить SNI в fake пакете на указанный + Изменить SNI в дефолтном fake пакете на указанный -M, --mod-http Всякие манипуляции с HTTP пакетом, можно комбинировать @@ -155,6 +158,7 @@ ciadpi --fake -1 --ttl 8 -Y, --drop-sack Игнорировать SACK, вынуждая ядро переотправить уже доставленные пакеты + Поддерживается только в Linux ``` ------ @@ -177,7 +181,7 @@ ciadpi --fake -1 --ttl 8 - Порядок отправки: 7-30, 1-7 Вышесказанное распространяется только на Linux. -В Windows выполняется полная ретрансмиссия: +В Windows ретрансмиссия начинается с позиции, с которой начались потери (максимальный ACK, полученный от сервера): - Параметры: `--disorder 7` - Порядок отправки: 7-30, 1-30 @@ -252,6 +256,15 @@ TCP может отсылать данные вне основного пото Можно наоборот - отменять tlsrec, если сервер сбрасывает подключение или откидывает пакет: `--tlsrec 3+s --auto=torst --timeout 3` +------ +`-Y, --drop-sack` + +Заставляет ядро игнорировать пакеты с расширением TCP SACK. +Это расширение позволяет подтверждать получение отдельных сегментов данных. +Если первая часть запроса будет потеряна, а до сервера дойдет лишь вторая, то сервер с помощью этого расширения может уведомить клиента об этом. Тогда клиент, зная, что вторая часть дошла, отправит лишь первую. +Зачем игнорировать это расширение? Второй сегмент может быть фейковым. Если он дойдет до сервера, но клиент об этом не узнает, то он попытается переотправить его. Однако этот сегмент будет содержать уже оригинальные данные, которые перезапишут фейковые, тем самым предотвратив поломку протокола. +Так как быстрое подтверждение работать не будет, то это сломает `disorder`, а также добавит задержку перед ретрансмиссией (около 200ms). + ------ `--auto`, `--hosts` @@ -262,7 +275,6 @@ TCP может отсылать данные вне основного пото Можно указывать несколько групп опций, раделяя их данным параметром. Параметры, которые идут ниже `--timeout` в help-тексте (кроме `tls-sni`), можно вынести в отдельную группу. ------- #### Примеры: ``` --fake -1 --ttl 10 --auto=ssl_err --fake -1 --ttl 5