mirror of
https://github.com/bol-van/zapret2.git
synced 2026-03-13 22:03:09 +00:00
update docs
This commit is contained in:
@@ -1530,6 +1530,7 @@ ipv6 extension headers и tcp options представляются в форме
|
||||
| :------------ | :----- | :--------------------------------------------------------------- |
|
||||
| ip | table | заголовок ipv4 |
|
||||
| ip6 | table | заголовок ipv6 |
|
||||
| frag_off | number | смещение IP фрагмента. только если присутствует IP фрагментация. |
|
||||
| tcp | table | заголовок tcp |
|
||||
| udp | table | заголовок udp |
|
||||
| icmp | table | заголовок icmp |
|
||||
@@ -2248,8 +2249,10 @@ function reconstruct_dissect(dissect[, reconstruct_opts])
|
||||
|
||||
Возвращает raw_ip. Все чексуммы считаются автоматически. L4 чексуммы портятся, если задан badsum в reconstruct_opts.
|
||||
|
||||
Реконструкция диссектов с IP фрагментацией происходит особым образом - с участием как Lua, так и C кода.
|
||||
Lua код должен подготовить диссект полного пакета, подлежащего фрагментации, но заполнить некоторые поля такими, какими они должны быть во фрагменте.
|
||||
Реконструкция диссектов с IP фрагментацией происходит особым образом. Есть 2 варианта.
|
||||
|
||||
1. Если присутствует поле "frag_off", tcp/udp/icmp хедеры игнорируются, payload содержит raw ip payload. В таком виде приходят диссекты фрагментированных IP пакетов. nfqws2 не выполняет дефрагментацию на IP уровне. Но это очень настойчиво делают Linux системы - чтобы пришел фрагмент в nfqws2 надо сильно постараться, вставив в prerouting или output "notrack". Диссекты в таком виде могут быть реконструированы как есть. Но готовить их в Lua крайне неудобно, поскольку придется проходить через черную магию работы с бинарным представлением.
|
||||
2. Если поле "frag_off" отсутствует, реконструкция фрагментов выполняется диссекта целого пакета с участием как Lua, так и C кода. Lua код должен подготовить диссект полного пакета, подлежащего фрагментации, но заполнить некоторые поля такими, какими они должны быть во фрагменте.
|
||||
|
||||
- ipv4 : ip.ip_len должен быть рассчитан таким, каким он должен быть во фрагменте.
|
||||
По ip.ip_len С код определяет размер фрагментированной части.
|
||||
|
||||
Reference in New Issue
Block a user