mirror of
https://github.com/bol-van/zapret2.git
synced 2026-03-20 08:15:48 +00:00
update docs
This commit is contained in:
@@ -1645,6 +1645,18 @@ function reconstruct_dissect(dissect, reconstruct_opts)
|
||||
|
||||
Возвращает raw_ip. Все чексуммы считаются автоматически. L4 чексуммы портятся, если задан badsum в reconstruct_opts.
|
||||
|
||||
Реконструкция диссектов с IP фрагментацией происходит особым образом - с участием как LUA, так и C кода.
|
||||
LUA код должен подготовить диссект полного пакета, подлежащего фрагментации, но заполнить некоторые поля такими, какими они должны быть во фрагменте.
|
||||
|
||||
* ipv4 : ip.ip_len должен быть рассчитан таким, каким он должен быть во фрагменте.
|
||||
По ip.ip_len С код определяет размер фрагментированной части.
|
||||
Поле ip.ip_off должно содержать offset фрагмента и признак IP_MF, если это не последний фрагмент.
|
||||
* ipv6 : нужно вставить в ip6.exthdr fragment header, в котором заполнить ident, offset и бит IP6F_MORE_FRAG, если это не последний фрагмент.
|
||||
ip6.ip6_len должен быть рассчитан таким, каким он должен быть во фрагменте. По этой длине C код определяет размер фрагмента.
|
||||
|
||||
Если C код видит признаки необходимости фрагментации, он проверяет корректность рассчитанных длин и смещений,
|
||||
и если они корректны, после реконструкции сдвигает содержимое raw пакета в буфере реконструкции, чтобы получился фрагмент с нужными данными.
|
||||
|
||||
```
|
||||
function reconstruct_tcphdr(tcp)
|
||||
function reconstruct_udphdr(udp)
|
||||
|
||||
Reference in New Issue
Block a user