mirror of
https://github.com/bol-van/zapret.git
synced 2024-11-26 20:20:53 +03:00
readme: seqovl windows more info
This commit is contained in:
parent
bc1aaec754
commit
f5ba30b47b
@ -299,7 +299,7 @@ sequence number.
|
|||||||
In `split2` mode this creates partially in-window packet. OS receives only in-window part.
|
In `split2` mode this creates partially in-window packet. OS receives only in-window part.
|
||||||
In `disorder2` mode OS receives fake and real part of the second segment but does not pass received data to the socket until first
|
In `disorder2` mode OS receives fake and real part of the second segment but does not pass received data to the socket until first
|
||||||
segment is received. First segment overwrites fake part of the second segment. Then OS passes original data to the socket.
|
segment is received. First segment overwrites fake part of the second segment. Then OS passes original data to the socket.
|
||||||
All unix OS preserve last received data. This may not be the case for Windows servers and may not work.
|
All unix OS except Solaris preserve last received data. This is not the case for Windows servers and `disorder` with `seqovl` will not work.
|
||||||
Disorder requires `seqovl` to be less than `split_pos`. Either statically defined or automatically calculated.
|
Disorder requires `seqovl` to be less than `split_pos`. Either statically defined or automatically calculated.
|
||||||
Otherwise desync is not possible and will not happen.
|
Otherwise desync is not possible and will not happen.
|
||||||
Method allows to avoid separate fakes. Fakes and real data are mixed.
|
Method allows to avoid separate fakes. Fakes and real data are mixed.
|
||||||
|
@ -393,11 +393,14 @@ seqovl байт со смещенным в минус sequence number на ве
|
|||||||
Для disorder2 overlap идет на 2-ю часть пакета. Обязательно, чтобы seqovl был меньше split_pos, иначе
|
Для disorder2 overlap идет на 2-ю часть пакета. Обязательно, чтобы seqovl был меньше split_pos, иначе
|
||||||
все отосланное будет передано в сокет сразу же, включая фейк, ломая протокол прикладного уровня.
|
все отосланное будет передано в сокет сразу же, включая фейк, ломая протокол прикладного уровня.
|
||||||
При соблюдении этого условия 2-я часть пакета является полностью in-window,
|
При соблюдении этого условия 2-я часть пакета является полностью in-window,
|
||||||
поэтому серверная ОС принимает ее целиком, включая фейк. Но поскольку начальная часть данных из 1 пакета еще не принята,
|
поэтому серверная ОС принимает ее целиком, включая фейк. Но поскольку начальная часть данных из 1 пакета
|
||||||
то фейк и реальные данные остаются в памяти ядра, не отправляясь в серверное приложение. Как только приходит 1-я часть пакета,
|
еще не принята, то фейк и реальные данные остаются в памяти ядра, не отправляясь в серверное приложение.
|
||||||
она переписывает фейковую часть в памяти ядра. Ядро получает данные из 1 и 2 части, поэтому далее
|
Как только приходит 1-я часть пакета, она переписывает фейковую часть в памяти ядра.
|
||||||
идет отправка в сокет приложения. Таково поведение всех unix ОС - оставлять последние принятые данные.
|
Ядро получает данные из 1 и 2 части, поэтому далее идет отправка в сокет приложения.
|
||||||
Для windows серверов может быть наоборот, поэтому не факт, что такой вариант будет на них работать.
|
Таково поведение всех unix ОС, кроме solaris - оставлять последние принятые данные.
|
||||||
|
Windows оставляет старые данные, поэтому disorder с seqovl будет приводить к зависаниям соединения
|
||||||
|
при работе с Windows серверами. Solaris практически мертв, windows серверов очень немного.
|
||||||
|
Можно использовать листы при необходимости.
|
||||||
Метод позволяет обойтись без fooling и TTL. Фейки перемешаны с реальным данными.
|
Метод позволяет обойтись без fooling и TTL. Фейки перемешаны с реальным данными.
|
||||||
split/disorder вместо split2/disorder2 по-прежнему добавляют дополнительные отдельные фейки.
|
split/disorder вместо split2/disorder2 по-прежнему добавляют дополнительные отдельные фейки.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user