mirror of
https://github.com/bol-van/zapret2.git
synced 2026-03-14 06:13:09 +00:00
update docs
This commit is contained in:
@@ -82,6 +82,7 @@
|
|||||||
- [reconstruct\_dissect](#reconstruct_dissect)
|
- [reconstruct\_dissect](#reconstruct_dissect)
|
||||||
- [reconstruct\_hdr](#reconstruct_hdr)
|
- [reconstruct\_hdr](#reconstruct_hdr)
|
||||||
- [csum\_fix](#csum_fix)
|
- [csum\_fix](#csum_fix)
|
||||||
|
- [conntrack](#conntrack)
|
||||||
- [Obtaining IP addresses](#obtaining-ip-addresses)
|
- [Obtaining IP addresses](#obtaining-ip-addresses)
|
||||||
- [Receiving and sending Packets](#receiving-and-sending-packets)
|
- [Receiving and sending Packets](#receiving-and-sending-packets)
|
||||||
- [rawsend](#rawsend)
|
- [rawsend](#rawsend)
|
||||||
@@ -2084,6 +2085,25 @@ Functions for fixing checksums. Since strings in Lua are immutable, these functi
|
|||||||
|
|
||||||
Direct reconstruction of individual headers is rarely necessary. Typically, all tasks are handled by functions working with dissects.
|
Direct reconstruction of individual headers is rarely necessary. Typically, all tasks are handled by functions working with dissects.
|
||||||
|
|
||||||
|
### conntrack
|
||||||
|
|
||||||
|
```
|
||||||
|
function conntrack_feed(dissect, reconstruct_opts)
|
||||||
|
```
|
||||||
|
|
||||||
|
"Feed" dissect to conntrack the way as if it was received from the network.
|
||||||
|
aaa
|
||||||
|
2 values are returned : [track](#the-track-table-structure) and bool value "outgoing".
|
||||||
|
outgoing is true if a new conntrack record was created and it was a SYN packet in case of tcp or any packet in case of udp.
|
||||||
|
If conntrack record already exists outgoing is true if the record was found by direct tuple - src_ip, src_port, dst_ip, dst_port.
|
||||||
|
If the record was found by reverse tuple - dst_ip, dst_port, src_ip, src_port - outgoing is false.
|
||||||
|
|
||||||
|
The function can come in handy if you are obfuscating and transmitting data in a distorted form. For example, tcp is converted to icmp or the SYN flag is corrupted.
|
||||||
|
The receiving end will issue the first corrupted packet without track, because it is either not tcp and not udp, or there was no valid tcp handshake.
|
||||||
|
After deobfuscation, you can correct the situation by executing conntrack_feed and assigning desync.track its result.
|
||||||
|
|
||||||
|
If conntrack is disabled or the packet is not valid tcp or udp, nil is returned.
|
||||||
|
|
||||||
### Obtaining IP addresses
|
### Obtaining IP addresses
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -80,6 +80,7 @@
|
|||||||
- [reconstruct\_dissect](#reconstruct_dissect)
|
- [reconstruct\_dissect](#reconstruct_dissect)
|
||||||
- [reconstruct\_hdr](#reconstruct_hdr)
|
- [reconstruct\_hdr](#reconstruct_hdr)
|
||||||
- [csum\_fix](#csum_fix)
|
- [csum\_fix](#csum_fix)
|
||||||
|
- [conntrack](#conntrack)
|
||||||
- [Получение ip адресов](#получение-ip-адресов)
|
- [Получение ip адресов](#получение-ip-адресов)
|
||||||
- [Прием и отсылка пакетов](#прием-и-отсылка-пакетов)
|
- [Прием и отсылка пакетов](#прием-и-отсылка-пакетов)
|
||||||
- [rawsend](#rawsend)
|
- [rawsend](#rawsend)
|
||||||
@@ -2242,6 +2243,24 @@ function csum_icmp_fix(raw_ip_header, raw_icmp_header, payload)
|
|||||||
|
|
||||||
Прямая реконструкция отдельных заголовков нужна редко. Обычно все задачи выполняют функции по работе с диссектами.
|
Прямая реконструкция отдельных заголовков нужна редко. Обычно все задачи выполняют функции по работе с диссектами.
|
||||||
|
|
||||||
|
### conntrack
|
||||||
|
|
||||||
|
```
|
||||||
|
function conntrack_feed(dissect, reconstruct_opts)
|
||||||
|
```
|
||||||
|
|
||||||
|
"Скормить" conntrack пакет таким образом, как если бы он пришел из сети и был проанализирован.
|
||||||
|
Возвращается 2 значения - [track](#структура-track) и bool признак "outgoing".
|
||||||
|
outgoing принимает значение true, если создается новая запись conntrack и она удовлетворяет признакам клиента - SYN в случае tcp, любой пакет в случае udp.
|
||||||
|
Если запись уже существует, outgoing = true, если запись была найдена по прямой паре - src_ip, src_port, dst_ip, dst_port.
|
||||||
|
Если запись была найдена по обратной паре - dst_ip, dst_port, src_ip, src_port, outgoing = false.
|
||||||
|
|
||||||
|
Функция может пригодиться, если выполняется обфускация и передача данных в искаженном виде. Например, tcp преобразуется в icmp или портится флаг SYN.
|
||||||
|
Принимающий конец выдаст первый искаженный пакет без track, потому что это либо не tcp и не udp, либо не было валидного tcp handshake.
|
||||||
|
После деобфускации вы можете исправить ситуацию, выполнив conntrack_feed и присвоив desync.track его результат.
|
||||||
|
|
||||||
|
Если conntrack выключен или пакет не является валидным tcp или udp, возвращается nil.
|
||||||
|
|
||||||
### Получение ip адресов
|
### Получение ip адресов
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user