mirror of
https://github.com/LowderPlay/cheburcheck.git
synced 2026-10-06 13:48:05 +03:00
docs: update probing info
This commit is contained in:
@@ -14,6 +14,7 @@ kb?.reset();
|
||||
[&_code]:bg-neutral-900/70 [&_code]:px-1.5 [&_code]:py-0.5 [&_code]:rounded [&_code]:text-sm [&_code]:text-neutral-200
|
||||
[&_h1]:mb-16 [&_h1]:text-5xl [&_h1]:font-black [&_h1]:tracking-tight [&_h1]:text-neutral-100 [&_h1]:uppercase
|
||||
[&_li]:my-3 [&_li]:text-neutral-300
|
||||
[&_ol]:list-decimal [&_ol]:pl-6 [&_ol]:my-6
|
||||
[&_p]:my-6 [&_p]:text-lg [&_p]:leading-relaxed [&_p]:text-neutral-300
|
||||
[&_ul]:list-disc [&_ul]:pl-6 [&_ul]:my-6
|
||||
"
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<script lang="ts">
|
||||
import KbArticle from "$lib/components/kb/KbArticle.svelte";
|
||||
import KbCode from "$lib/components/kb/KbCode.svelte";
|
||||
import KbHeading from "$lib/components/kb/KbHeading.svelte";
|
||||
import KbNote from "$lib/components/kb/KbNote.svelte";
|
||||
</script>
|
||||
@@ -48,12 +47,48 @@ import KbNote from "$lib/components/kb/KbNote.svelte";
|
||||
сразу, не дожидаясь завершения всех проверок.
|
||||
</p>
|
||||
<p>
|
||||
Сканер не пытается открыть сайт целиком или подключиться напрямую к серверу.
|
||||
Вместо этого он делает небольшую контрольную загрузку с тестовых хостов.
|
||||
Часть этих хостов используется как условно заблокированные направления,
|
||||
часть — как контрольные доступные направления. Это помогает отличить разные
|
||||
типы поведения: обрыв на этапе начала HTTPS-соединения, недогрузку данных
|
||||
или нормальную передачу.
|
||||
Сканер не загружает целевой сайт целиком. Для домена он делает небольшие
|
||||
контрольные HTTPS-загрузки с тестовых хостов, подставляя проверяемое имя в
|
||||
SNI, а до разрешённого IP-адреса выполняет короткую TCP-трассировку на порт
|
||||
443. Эти проверки позволяют независимо увидеть блокировку по имени домена и
|
||||
аномально раннее завершение маршрута до адреса.
|
||||
</p>
|
||||
|
||||
<KbHeading id="методика-сканирования" title="Методика сканирования">
|
||||
Методика сканирования
|
||||
</KbHeading>
|
||||
<p>
|
||||
Каждая задача содержит IP-адрес цели и, если пользователь проверяет домен,
|
||||
само доменное имя. SNI-проверка, трассировка цели и контрольные трассировки
|
||||
запускаются одновременно, чтобы состояние сети во время измерений было как
|
||||
можно более одинаковым.
|
||||
</p>
|
||||
<ol class="list-decimal">
|
||||
<li>
|
||||
Сканер подключается к настроенным тестовым хостам, но передаёт проверяемый
|
||||
домен в TLS ClientHello и HTTP Host. Затем он оценивает, удалось ли
|
||||
завершить TLS-обмен и получить минимальный объём данных. Для проверки
|
||||
IP-адреса без домена этот этап пропускается.
|
||||
</li>
|
||||
<li>
|
||||
Сканер открывает TCP-соединения к разрешённому IP-адресу на порту 443,
|
||||
последовательно увеличивая TTL от 1 до 5. На каждом TTL по умолчанию
|
||||
одновременно отправляются три попытки: это уменьшает влияние потерь
|
||||
пакетов и ограничения частоты ICMP-ответов. Ответ ICMP Time Exceeded
|
||||
переводит проверку к следующему TTL, а TCP RST или успешное соединение
|
||||
завершают трассировку.
|
||||
</li>
|
||||
<li>
|
||||
Из списка известных доступных хостов случайно выбираются не более трёх
|
||||
IP-адресов той же версии протокола, что и цель. Все контрольные
|
||||
трассировки идут параллельно, а для сравнения используется наименьший
|
||||
измеренный контрольный TTL.
|
||||
</li>
|
||||
</ol>
|
||||
<p>
|
||||
Если трассировки цели и контроля завершились ответом ICMP Time Exceeded, но
|
||||
ответ для цели пришёл на меньшем TTL, сканер выставляет вердикт «ТСПУ Блок».
|
||||
В результатах показывается номер последнего достигнутого перехода для цели.
|
||||
</p>
|
||||
|
||||
<KbHeading id="что-показывает-результат" title="Что показывает результат">
|
||||
@@ -66,30 +101,39 @@ import KbNote from "$lib/components/kb/KbNote.svelte";
|
||||
</p>
|
||||
<ul class="list-disc">
|
||||
<li>
|
||||
<b>Доступен</b> – сайт не найден в списках CDN, не блокируется на
|
||||
контрольных хостах, но может блокироваться на зарубежных CDN.
|
||||
<b>Доступен</b>
|
||||
– сайт не найден в списках CDN, не блокируется на контрольных хостах, но
|
||||
может блокироваться на зарубежных CDN.
|
||||
</li>
|
||||
<li>
|
||||
<b>CDN Блок (16-20)</b> – сайт найден в списках CDN, не блокируется на
|
||||
контрольных хостах, но блокируется на зарубежных CDN.
|
||||
<b>CDN Блок (16-20)</b>
|
||||
– сайт найден в списках CDN, не блокируется на контрольных хостах, но
|
||||
блокируется на зарубежных CDN.
|
||||
</li>
|
||||
<li>
|
||||
<b>SNI Блок</b> – похоже на блокировку по домену сайта в начале
|
||||
HTTPS-соединения. На практике это похоже на ситуацию, когда оборудование
|
||||
оператора (ТСПУ) видит имя домена и разрывает соединение до передачи
|
||||
полезных данных.
|
||||
<b>SNI Блок</b>
|
||||
– похоже на блокировку по домену сайта в начале HTTPS-соединения. На
|
||||
практике это похоже на ситуацию, когда оборудование оператора (ТСПУ) видит
|
||||
имя домена и разрывает соединение до передачи полезных данных.
|
||||
</li>
|
||||
<li>
|
||||
<b>ТСПУ Блок</b>
|
||||
– TCP-трассировка до цели остановилась раньше контрольной трассировки.
|
||||
Обычно означает, что соединение разрывается на оборудовании оператора
|
||||
(ТСПУ) до того как соединение дошло до цели.
|
||||
</li>
|
||||
<li>
|
||||
<!-- biome-ignore format: link punctuation -->
|
||||
<a
|
||||
class="underline decoration-dotted underline-offset-2"
|
||||
href="/kb/whitelist"
|
||||
>Белый список</a> – похоже на блокировку по домену сайта в начале
|
||||
HTTPS-соединения. Вероятнее всего, указывает на блокировку сайта на ТСПУ.
|
||||
>Белый список</a> – данные передаются в полном объеме при подстановке
|
||||
домена в SNI при подключении к заблокированному серверу.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<b>Неясно</b> – данных недостаточно или ответы противоречат друг другу.
|
||||
<b>Неясно</b>
|
||||
– данных недостаточно или ответы противоречат друг другу.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user