mirror of
https://github.com/bol-van/zapret.git
synced 2024-12-24 07:06:36 +00:00
readme: badseq notes
This commit is contained in:
parent
ff24920999
commit
ef18b85b42
@ -189,13 +189,10 @@ add tcp option **MD5 signature**. All of them have their own disadvantages :
|
|||||||
This behavior was observed on a Mediatek MT7621 based device.
|
This behavior was observed on a Mediatek MT7621 based device.
|
||||||
Tried to modify mediatek ethernet driver with no luck, likely hardware enforced limitation.
|
Tried to modify mediatek ethernet driver with no luck, likely hardware enforced limitation.
|
||||||
However the device allowed to send badsum packets, problem only existed for passthrough traffic from clients.
|
However the device allowed to send badsum packets, problem only existed for passthrough traffic from clients.
|
||||||
* badsum doesn't work if your device is behind NAT which does not pass invalid packets.
|
* badseq packets will be dropped by server, but DPI also can ignore them.
|
||||||
Linux NAT by default does not pass them without special setting `sysctl -w net.netfilter.nf_conntrack_checksum=0`
|
default badseq increment is set to -10000 because some DPIs drop packets outside of the small tcp window.
|
||||||
Openwrt sets it from the box, other routers in most cases don't, and its not always possible to change it.
|
But this also can cause troubles when `--dpi-desync-any-protocol` is enabled.
|
||||||
If nfqws is on the router, its not necessary to switch of `net.netfilter.nf_conntrack_checksum`.
|
To be 100% sure fake packet cannot fit to server tcp window consider setting badseq increment to 0x80000000
|
||||||
Fake packet doesn't go through FORWARD chain, it goes through OUTPUT. But if your router is behind another NAT, for example ISP NAT,
|
|
||||||
and that NAT does not pass invalid packets, you cant do anything.
|
|
||||||
* badseq packets will be dropped by server, but DPI also can ignore them
|
|
||||||
* TTL looks like the best option, but it requires special tuning for each ISP. If DPI is further than local ISP websites
|
* TTL looks like the best option, but it requires special tuning for each ISP. If DPI is further than local ISP websites
|
||||||
you can cut access to them. Manual IP exclude list is required. Its possible to use md5sig with ttl.
|
you can cut access to them. Manual IP exclude list is required. Its possible to use md5sig with ttl.
|
||||||
This way you cant hurt anything, but good chances it will help to open local ISP websites.
|
This way you cant hurt anything, but good chances it will help to open local ISP websites.
|
||||||
@ -264,7 +261,7 @@ mark is needed to keep away generated packets from NFQUEUE. nfqws sets fwmark wh
|
|||||||
nfqws can internally filter marked packets. but when connbytes filter is used without mark filter
|
nfqws can internally filter marked packets. but when connbytes filter is used without mark filter
|
||||||
packet ordering can be changed breaking the whole idea of desync attack.
|
packet ordering can be changed breaking the whole idea of desync attack.
|
||||||
|
|
||||||
### DPI deync combos
|
### DPI desync combos
|
||||||
|
|
||||||
dpi-desync parameter takes up to 3 comma separated arguments.
|
dpi-desync parameter takes up to 3 comma separated arguments.
|
||||||
zero phase means tcp connection establishement (before sending data payload). Mode can be `synack`.
|
zero phase means tcp connection establishement (before sending data payload). Mode can be `synack`.
|
||||||
|
@ -241,8 +241,13 @@ nfqws
|
|||||||
что представляется задачей крайне нетривиальной. Установлено, что так себя ведут некоторые роутеры на базе mediatek.
|
что представляется задачей крайне нетривиальной. Установлено, что так себя ведут некоторые роутеры на базе mediatek.
|
||||||
badsum пакеты уходят с клиентской ОС, но роутером не видятся в br-lan через tcpdump.
|
badsum пакеты уходят с клиентской ОС, но роутером не видятся в br-lan через tcpdump.
|
||||||
При этом если nfqws выполняется на самом роутере, обход может работать. badsum нормально уходят с внешнего интерфейса.
|
При этом если nfqws выполняется на самом роутере, обход может работать. badsum нормально уходят с внешнего интерфейса.
|
||||||
* пакеты с badseq будут наверняка отброшены принимающим узлом, но так же и DPI, если он ориентируется
|
* Пакеты с badseq будут наверняка отброшены принимающим узлом, но так же и DPI, если он ориентируется
|
||||||
на sequence numbers
|
на sequence numbers. По умолчанию смещение seq выбирается -10000. Практика показала, что некоторые DPI
|
||||||
|
не пропускают seq вне определенного окна. Однако, такое небольшое смещение может вызвать проблемы
|
||||||
|
при существенной потоковой передаче и потере пакетов. Если вы используете --dpi-desync-any-protocol,
|
||||||
|
может понадобится установить badseq increment 0x80000000. Это обеспечит надежную гарантию,
|
||||||
|
что поддельный пакет не вклинится в tcp window на сервере. Так же было замечено, что badseq ломает логику
|
||||||
|
некоторых DPI при анализе http, вызывая зависание соединения. Причем на тех же DPI TLS с badseq работает нормально.
|
||||||
* TTL казалось бы - лучший вариант, но он требует индивидуальной настройки под каждого провайдера.
|
* TTL казалось бы - лучший вариант, но он требует индивидуальной настройки под каждого провайдера.
|
||||||
Если DPI находится дальше локальных сайтов провайдера, то вы можете отрезать себе доступ к ним.
|
Если DPI находится дальше локальных сайтов провайдера, то вы можете отрезать себе доступ к ним.
|
||||||
Необходим ip exclude list, заполняемый вручную. Вместе с ttl можно применять md5sig. Это ничего не испортит,
|
Необходим ip exclude list, заполняемый вручную. Вместе с ttl можно применять md5sig. Это ничего не испортит,
|
||||||
|
Loading…
Reference in New Issue
Block a user