diff --git a/docs/manual.md b/docs/manual.md index b40ee0a..394f394 100644 --- a/docs/manual.md +++ b/docs/manual.md @@ -2915,6 +2915,29 @@ function multidisorder(ctx, desync) Последний отсылаемый сегмент (1-й в оригинальной очередности) отправляется неизменным, переписывая в буфере сокета ложные данные из seqovl_pattern реальными. Восстанавливается непрерывная последовательность потока, данные передаются в сокет приложения. +### multidisorder_legacy + +``` +function multidisorder_legacy(ctx, desync) +``` + +* arg: [standard direction](#standard-direction) +* arg: [standard payload](#standard-payload) +* arg: [standard fooling](#standard-fooling) +* arg: [standard ipid](#standard-ipid) +* arg: [standard ipfrag](#standard-ipfrag) +* arg: [standard reconstruct](#standard-reconstruct) +* arg: [standard rawsend](#standard-rawsend) +* arg: pos - список [маркеров](#маркеры) через запятую - точек разреза. По умолчанию "2". +* arg: seqovl - маркер - смещение относительно текущего sequence для создания дополнительной части сегмента, выходящей влево +* arg: seqovl_pattern - [blob](#передача-блобов), используемый для заполнения seqovl. По умолчанию 0x00 + +Реализация multidisorder, полностью совместимая с nfqws1. + +Новый multidisorder работает с [reasm](#особенности-приема-многопакетных-пейлоадов) целиком, а старый из nfqws1 - по отдельным частям [replay](#особенности-приема-многопакетных-пейлоадов). Поэтому порядок следования частей в случае многопакетных запросов будет разным. + +В новом варианте не сохраняется оригинальная сегментация. Если какая-то часть разреза получилась больше MSS, она дополнительно режется по MSS и отправляется в порядке увеличения sequence. В старом варианте оригинальная сегментация сохранялась. Использовалась нормализация точек разреза по смещению каждой отдельной части [reasm](#особенности-приема-многопакетных-пейлоадов). Сегменты отправлялись в обратном порядке только внутри каждой части, но следующая часть шла с оригинальным инкрементом sequence. seqovl так же нормализовался и применялся только внутри того оригинального сегмента, в какой попала нормализованная позиция. + ### fakedsplit ```