mirror of
https://github.com/bol-van/zapret.git
synced 2024-11-29 21:40:52 +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 `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.
|
||||
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.
|
||||
Otherwise desync is not possible and will not happen.
|
||||
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, иначе
|
||||
все отосланное будет передано в сокет сразу же, включая фейк, ломая протокол прикладного уровня.
|
||||
При соблюдении этого условия 2-я часть пакета является полностью in-window,
|
||||
поэтому серверная ОС принимает ее целиком, включая фейк. Но поскольку начальная часть данных из 1 пакета еще не принята,
|
||||
то фейк и реальные данные остаются в памяти ядра, не отправляясь в серверное приложение. Как только приходит 1-я часть пакета,
|
||||
она переписывает фейковую часть в памяти ядра. Ядро получает данные из 1 и 2 части, поэтому далее
|
||||
идет отправка в сокет приложения. Таково поведение всех unix ОС - оставлять последние принятые данные.
|
||||
Для windows серверов может быть наоборот, поэтому не факт, что такой вариант будет на них работать.
|
||||
поэтому серверная ОС принимает ее целиком, включая фейк. Но поскольку начальная часть данных из 1 пакета
|
||||
еще не принята, то фейк и реальные данные остаются в памяти ядра, не отправляясь в серверное приложение.
|
||||
Как только приходит 1-я часть пакета, она переписывает фейковую часть в памяти ядра.
|
||||
Ядро получает данные из 1 и 2 части, поэтому далее идет отправка в сокет приложения.
|
||||
Таково поведение всех unix ОС, кроме solaris - оставлять последние принятые данные.
|
||||
Windows оставляет старые данные, поэтому disorder с seqovl будет приводить к зависаниям соединения
|
||||
при работе с Windows серверами. Solaris практически мертв, windows серверов очень немного.
|
||||
Можно использовать листы при необходимости.
|
||||
Метод позволяет обойтись без fooling и TTL. Фейки перемешаны с реальным данными.
|
||||
split/disorder вместо split2/disorder2 по-прежнему добавляют дополнительные отдельные фейки.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user