mirror of
https://github.com/bol-van/zapret2.git
synced 2026-03-18 23:35:48 +00:00
update docs
This commit is contained in:
@@ -1103,5 +1103,94 @@ desync:
|
||||
|
||||
### Структура диссекта
|
||||
|
||||
Диссект включает в себя поля ip, ip6, tcp, udp.
|
||||
ip присутствует в случае ipv4, ip6 - в случае ipv6.
|
||||
По наличиню ip или ip6 можно определяют версию ip протокола. Так же по наличию tcp или udp можно определять L4 протокол.
|
||||
|
||||
Сами таблицы хедеров копируют названия полей C структур из `netinet/{ip,ip6,tcp,udp}.h`.
|
||||
ip адреса и ipv4 options передаются как raw string.
|
||||
Для преобразования raw ip в текстовую форму можно использовать C функцию ntop. Она определяет версию ip автоматически по размеру.
|
||||
ipv6 extension headers и tcp options представляются в форме таблиц.
|
||||
|
||||
Все числовые многобайтовые значения автоматически переведены из network byte order в machine byte order.
|
||||
|
||||
**ip**
|
||||
| Поле | Описание |
|
||||
|:------|:-----|
|
||||
| ip_v | версия ip - 4 |
|
||||
| ip_hl | длина ip заголовка в блоках по 4 байта. 5 без ip options. |
|
||||
| ip_tos | type of service. содержит DSCP |
|
||||
| ip_len | полная длина ip пакета вместе со всеми заголовками и пейлоадом |
|
||||
| ip_id | идентификация пакета для сборки из фрагментов |
|
||||
| ip_off | offset фрагмента, флаги MF (more fragments) и DF (dont fragment) |
|
||||
| ip_ttl | time to live - максимальное количество хопов |
|
||||
| ip_p | номер ip протокола. как правило IPPROTO_TCP или IPPROTO_UDP |
|
||||
| ip_sum | чексумма ip хедера |
|
||||
| ip_src | ip источника |
|
||||
| ip_src | ip назначения |
|
||||
| options | бинарный блок ip options (практически не используется, режется всеми) |
|
||||
|
||||
**ip6**
|
||||
| Поле | Описание |
|
||||
|:------|:-----|
|
||||
| ip6_flow | первые 4 байта ipv6 header : version (6), traffic class, flow label |
|
||||
| ip6_plen | длина пакета за вычетом базового хедера ipv6 - IP6_BASE_LEN (40) байт |
|
||||
| ip6_nxt | следующий протокол. если нет exthdr - IPPROTO_TCP (6) или IPPROTO_UDP (17) |
|
||||
| ip6_hlim | hop limit. имеет тот же смысл, что и TTL в ipv4 |
|
||||
| ip6_src | ipv6 адрес источника |
|
||||
| ip6_dst | ipv6 адрес приемника |
|
||||
| exthdr | массив таблиц расширенных хедеров (индекс от 1) |
|
||||
|
||||
**ip6 exthdr**
|
||||
| Поле | Описание |
|
||||
|:------|:-----|
|
||||
| type | тип хедера : IPPROTO_HOPOPTS, IPPROTO_ROUTING, IPPROTO_DSTOPTS, IPPROTO_MH, IPPROTO_HIP, IPPROTO_SHIM6, IPPROTO_FRAGMENT, IPPROTO_AH |
|
||||
| next | тип следующего хедера. аналогично type. для последнего хедера может быть IPPROTO_TCP или IPPROTO_UDP |
|
||||
| data | данные без первых двух байтов - типа и длины |
|
||||
|
||||
**ip**
|
||||
| Поле | Описание |
|
||||
|:------|:-----|
|
||||
| ip_v | версия ip - 4 |
|
||||
| ip_hl | длина ip заголовка в блоках по 4 байта. 5 без ip options. |
|
||||
| ip_tos | type of service. содержит DSCP |
|
||||
| ip_len | полная длина ip пакета вместе со всеми заголовками и пейлоадом |
|
||||
| ip_id | идентификация пакета для сборки из фрагментов |
|
||||
| ip_off | offset фрагмента, флаги MF (more fragments) и DF (dont fragment) |
|
||||
| ip_ttl | time to live - максимальное количество хопов |
|
||||
| ip_p | номер ip протокола. как правило IPPROTO_TCP или IPPROTO_UDP |
|
||||
| ip_sum | чексумма ip хедера |
|
||||
| ip_src | ip источника |
|
||||
| ip_src | ip назначения |
|
||||
| options | бинарный блок ip options (практически не используется, режется всеми) |
|
||||
|
||||
**udp**
|
||||
| Поле | Описание |
|
||||
|:------|:-----|
|
||||
| uh_sport | порт источника |
|
||||
| uh_dport | порт приемника |
|
||||
| uh_ulen | длина udp - header UDP_BASE_LEN (8) + длина пейлоада |
|
||||
| uh_sum | чексумма udp |
|
||||
|
||||
**tcp**
|
||||
| Поле | Описание |
|
||||
|:------|:-----|
|
||||
| th_sport | порт источника |
|
||||
| th_dport | порт приемника |
|
||||
| th_x2 | зарезервированное поле. используется для расширенных tcp flags |
|
||||
| th_off | размер tcp хедера в блоках по 4 байта |
|
||||
| th_flags | tcp флаги : TH_FIN,TH_SYN,TH_RST,TH_PUSH,TH_ACK,TH_FIN,TH_URG,THE_ECE,TH_CWR |
|
||||
| th_win | размер tcp окна |
|
||||
| th_sum | чексумма tcp |
|
||||
| th_urp | urgent pointer |
|
||||
| options | массив таблиц tcp опций (индекс от 1) |
|
||||
|
||||
**tcp options**
|
||||
| Поле | Описание |
|
||||
|:------|:-----|
|
||||
| kind | тип опции : TCP_KIND_END, TCP_KIND_NOOP, TCP_KIND_MSS, TCP_KIND_SCALE, TCP_KIND_SACK_PERM, TCP_KIND_SACK, TCP_KIND_TS, TCP_KIND_MD5, TCP_KIND_AO, TCP_KIND_FASTOPEN |
|
||||
| data | блок данных опции без kind и length. отсутствует для TCP_KIND_END и TCP_KIND_NOOP |
|
||||
|
||||
|
||||
### Структура track
|
||||
|
||||
|
||||
Reference in New Issue
Block a user