Template
1
0
mirror of https://github.com/bol-van/zapret2.git synced 2026-03-14 06:13:09 +00:00

udpate docs

This commit is contained in:
bol-van
2026-01-16 17:00:16 +03:00
parent 60934f5ab8
commit da9faabf97
2 changed files with 3 additions and 1 deletions

View File

@@ -3825,13 +3825,14 @@ After it's done it executes [instance cutoff](#instance_cutoff).
Target OS throws away OOB byte from the stream but DPI may analyze message with OOB byte as it's part thus breaking the message.
- OOB is obsolete but still supported in most OS mechanism. There are two RFCs. The older one assumes that th_urp points to the OOB byte,
- OOB is obsolete but still supported in most OS. There are two RFCs. The older one assumes that th_urp points to the OOB byte,
the newer one to the next byte. Therefore, the value th_urp=0 is invalid according to the new standard, but it can still work.
To enable it, specify "urp=b".
- "urp=e" inserts an OOB byte after the very last byte of the payload - generally useless for DPI bypass, since DPI gets the entire original message.
- Requires redirection of incoming traffic within `--in-range=-s1`
- Cannot be filtered by payload because after the start it's not possible to stop and not to insert the byte. Inserting a byte without OOB breaks the data.
- Hostlist filtering is only possible with `--ipcache-hostname`.
- oob is "lasting" desync. If profile switch occurs before oob is finished it must be duplicated to that profile or TCP will break because of sequence desync.
- Can't work with functions that resend modified payload. multisplit, multidisorder, fakedsplit, fakeddisorder, etc will send duplicates without OOB.
- If the payload is [multi-segment](#handling-multi-packet-payloads), the entire [reasm](#handling-multi-packet-payloads) is sent. OOB is inserted into the segment where urp hits.
In this segment the th_urp is normalized by segment offset, the TH_URG flag is set. The rest of the parts are sent as is. The function drops the whole replay then [cuts itself off](#instance_cutoff).

View File

@@ -4019,6 +4019,7 @@ function oob(ctx, desync)
- Требуется перенаправление входящего трафика в пределах `--in-range=-s1`
- Не может быть отфильтровано по пейлоаду, поскольку после начала модификации tcp handshake соскок уже невозможен, иначе поедут sequence.
- Фильтрация по хостлистам возможна только при `--ipcache-hostname`.
- oob - длящаяся десинхронизация. Если возможно переключение профилей до момента окончания работы oob, oob должен быть дублирован в другой профиль, иначе TCP будет сломан из-за десинхронизации sequence.
- Не может работать с функциями, предполагающими отправку пейлоада - multisplit, multidisorder, fakedsplit, fakeddisorder и тд. Они будут работать, но будут слать дубль без OOB.
- Если пейлоад [многопакетный](#особенности-приема-многопакетных-пейлоадов) - отсылается весь [reasm](#особенности-приема-многопакетных-пейлоадов). OOB вставляется в тот сегмент, куда попал urp.
В этом сегменте th_urp нормализуется по смещению сегмента, выставляется флаг TH_URG. Остальные части шлются как есть. Функция дропает весь replay, затем уходит в cutoff по обоим направлениям.