mirror of
https://github.com/bol-van/zapret2.git
synced 2026-03-20 08:15:48 +00:00
udpate docs
This commit is contained in:
@@ -182,6 +182,7 @@
|
||||
- [fakeddisorder](#fakeddisorder)
|
||||
- [hostfakesplit](#hostfakesplit)
|
||||
- [tcpseg](#tcpseg)
|
||||
- [oob](#oob)
|
||||
- [UDP Fooling](#udp-fooling)
|
||||
- [udplen](#udplen)
|
||||
- [dht\_dn](#dht_dn)
|
||||
@@ -3804,6 +3805,38 @@ No verdict is issued.
|
||||
|
||||
Using `tcpseg`, you can perform `seqovl` without segmentation by using markers "0,-1". To replace the current dissect, it can be combined with `drop`.
|
||||
|
||||
### oob
|
||||
|
||||
```
|
||||
function oob(ctx, desync)
|
||||
```
|
||||
|
||||
- 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: char - one OOB character
|
||||
- arg: byte - one OOB byte 0..255
|
||||
- arg: urp - urgent pointer [marker](#markers), "b" or "e". "b" is default.
|
||||
|
||||
Function intercepts TCP handshake shifting sequence numbers one byte to the left then inserts OOB byte into the first non-empty payload.
|
||||
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,
|
||||
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`.
|
||||
- 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).
|
||||
|
||||
|
||||
## UDP Fooling
|
||||
|
||||
There are far fewer options for UDP than for TCP due to the simplicity of the protocol. There isn't much that can be done with it.
|
||||
|
||||
@@ -4005,7 +4005,6 @@ function oob(ctx, desync)
|
||||
- arg: [standard rawsend](#standard-rawsend)
|
||||
- arg: char - 1 символ oob
|
||||
- arg: byte - числовое значение байта OOB 0..255
|
||||
- arg: drop_ack - дропать пустой ACK в ответ на SYN,ACK
|
||||
- arg: urp - позиционный [маркер](#маркеры) для urgent pointer, "b" или "e". по умолчанию - "b"
|
||||
|
||||
Функция перехватывает TCP handshake, сдвигая sequence влево на 1 байт, затем вставляет 1 байт OOB в первый отсылаемый пейлоад и отсылает его.
|
||||
@@ -4022,9 +4021,7 @@ function oob(ctx, desync)
|
||||
- Фильтрация по хостлистам возможна только при `--ipcache-hostname`.
|
||||
- Не может работать с функциями, предполагающими отправку пейлоада - multisplit, multidisorder, fakedsplit, fakeddisorder и тд. Они будут работать, но будут слать дубль без OOB.
|
||||
- Если пейлоад [многопакетный](#особенности-приема-многопакетных-пейлоадов) - отсылается весь [reasm](#особенности-приема-многопакетных-пейлоадов). OOB вставляется в тот сегмент, куда попал urp.
|
||||
В этом сегменте th_urp нормализуется по смещению сегмента, выставляется флаг TH_URG. Остальные части шлются как есть. Функция дропает последующие части replay, затем уходит в cutoff по обоим направлениям.
|
||||
- drop_ack дропает пустой пакет с ACK в ответ на SYN,ACK - тот, что имеет sequence=1. В Windows для drop_ack необходим параметр --wf-tcp-empty=1.
|
||||
|
||||
В этом сегменте th_urp нормализуется по смещению сегмента, выставляется флаг TH_URG. Остальные части шлются как есть. Функция дропает весь replay, затем уходит в cutoff по обоим направлениям.
|
||||
|
||||
## Дурение udp
|
||||
|
||||
|
||||
Reference in New Issue
Block a user