mirror of
https://github.com/hufrea/byedpi.git
synced 2024-11-20 12:25:05 +00:00
37 lines
2.7 KiB
Plaintext
37 lines
2.7 KiB
Plaintext
|
Реализация некоторых способов запутывания DPI на Linux в виде SOCKS прокси
|
|||
|
|
|||
|
В дополнение к "--help":
|
|||
|
-m, --method <s|d|f>
|
|||
|
Способ десинхронизации, комбинировать нельзя
|
|||
|
split:
|
|||
|
Разбить первый запрос на два по указанному смещению
|
|||
|
Если смещение отрицательное, то считать относительно конца
|
|||
|
Реализация: два вызова send
|
|||
|
disorder:
|
|||
|
Как split, но части отправляются в обратном порядке
|
|||
|
Реализация: устанавливаем TTL=1, отправляем первую часть, затем восстанавливаем значение TTL и отправляем вторую
|
|||
|
(из-за низкого TTL первая часть не прибудет получателю и ОС выполнит ретрансмисию и снова отправит первую часть, но уже после второй и с нормальным TTL)
|
|||
|
fake:
|
|||
|
Как disorder, только перед первым запросом отправляется поддельный такого же размера
|
|||
|
Реализация: тут используется возможность перезаписи данных после вызове sendfile
|
|||
|
помещаем в буффер поддельные данные, вызываем sendfile с таким TTL, чтобы тот не дошел до сервера,
|
|||
|
затем перезаписываем данные оригинальными, восстанавливаем TTL и отправляем вторую часть с помощью send
|
|||
|
|
|||
|
-H, --split-at-host
|
|||
|
Если найден SNI или Host, то считать смещение относительно позиции домена
|
|||
|
|
|||
|
-t, --ttl <num>
|
|||
|
TTL для поддельного пакета, чтобы тот не дошел до сервера, но был обработан DPI
|
|||
|
|
|||
|
-n, --tls-sni <str>
|
|||
|
В качестве поддельного пакета для TLS используется заранее записанный ClientHello,
|
|||
|
данный параметр модифицирует его, изменяя SNI на указанный
|
|||
|
|
|||
|
-M, --mod-http <h[,d,r]>
|
|||
|
Всякие манипуляции с HTTP пакетом, можно комбинировать
|
|||
|
hcsmix:
|
|||
|
"Host: name" -> "hOsT: name"
|
|||
|
dcsmix:
|
|||
|
"Host: name" -> "Host: NaMe"
|
|||
|
rmspace:
|
|||
|
"Host: name" -> "Host:name\t"
|