diff --git a/frontend/src/lib/components/kb/KbArticle.svelte b/frontend/src/lib/components/kb/KbArticle.svelte
index 16f625a..f4692aa 100644
--- a/frontend/src/lib/components/kb/KbArticle.svelte
+++ b/frontend/src/lib/components/kb/KbArticle.svelte
@@ -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
"
diff --git a/frontend/src/routes/kb/probing/+page.svelte b/frontend/src/routes/kb/probing/+page.svelte
index 6d9c758..297d342 100644
--- a/frontend/src/routes/kb/probing/+page.svelte
+++ b/frontend/src/routes/kb/probing/+page.svelte
@@ -1,6 +1,5 @@
@@ -48,12 +47,48 @@ import KbNote from "$lib/components/kb/KbNote.svelte";
сразу, не дожидаясь завершения всех проверок.
- Сканер не пытается открыть сайт целиком или подключиться напрямую к серверу.
- Вместо этого он делает небольшую контрольную загрузку с тестовых хостов.
- Часть этих хостов используется как условно заблокированные направления,
- часть — как контрольные доступные направления. Это помогает отличить разные
- типы поведения: обрыв на этапе начала HTTPS-соединения, недогрузку данных
- или нормальную передачу.
+ Сканер не загружает целевой сайт целиком. Для домена он делает небольшие
+ контрольные HTTPS-загрузки с тестовых хостов, подставляя проверяемое имя в
+ SNI, а до разрешённого IP-адреса выполняет короткую TCP-трассировку на порт
+ 443. Эти проверки позволяют независимо увидеть блокировку по имени домена и
+ аномально раннее завершение маршрута до адреса.
+
+
+
+ Методика сканирования
+
+
+ Каждая задача содержит IP-адрес цели и, если пользователь проверяет домен,
+ само доменное имя. SNI-проверка, трассировка цели и контрольные трассировки
+ запускаются одновременно, чтобы состояние сети во время измерений было как
+ можно более одинаковым.
+
+
+ -
+ Сканер подключается к настроенным тестовым хостам, но передаёт проверяемый
+ домен в TLS ClientHello и HTTP Host. Затем он оценивает, удалось ли
+ завершить TLS-обмен и получить минимальный объём данных. Для проверки
+ IP-адреса без домена этот этап пропускается.
+
+ -
+ Сканер открывает TCP-соединения к разрешённому IP-адресу на порту 443,
+ последовательно увеличивая TTL от 1 до 5. На каждом TTL по умолчанию
+ одновременно отправляются три попытки: это уменьшает влияние потерь
+ пакетов и ограничения частоты ICMP-ответов. Ответ ICMP Time Exceeded
+ переводит проверку к следующему TTL, а TCP RST или успешное соединение
+ завершают трассировку.
+
+ -
+ Из списка известных доступных хостов случайно выбираются не более трёх
+ IP-адресов той же версии протокола, что и цель. Все контрольные
+ трассировки идут параллельно, а для сравнения используется наименьший
+ измеренный контрольный TTL.
+
+
+
+ Если трассировки цели и контроля завершились ответом ICMP Time Exceeded, но
+ ответ для цели пришёл на меньшем TTL, сканер выставляет вердикт «ТСПУ Блок».
+ В результатах показывается номер последнего достигнутого перехода для цели.
@@ -66,30 +101,39 @@ import KbNote from "$lib/components/kb/KbNote.svelte";
-
- Доступен – сайт не найден в списках CDN, не блокируется на
- контрольных хостах, но может блокироваться на зарубежных CDN.
+ Доступен
+ – сайт не найден в списках CDN, не блокируется на контрольных хостах, но
+ может блокироваться на зарубежных CDN.
-
- CDN Блок (16-20) – сайт найден в списках CDN, не блокируется на
- контрольных хостах, но блокируется на зарубежных CDN.
+ CDN Блок (16-20)
+ – сайт найден в списках CDN, не блокируется на контрольных хостах, но
+ блокируется на зарубежных CDN.
-
- SNI Блок – похоже на блокировку по домену сайта в начале
- HTTPS-соединения. На практике это похоже на ситуацию, когда оборудование
- оператора (ТСПУ) видит имя домена и разрывает соединение до передачи
- полезных данных.
+ SNI Блок
+ – похоже на блокировку по домену сайта в начале HTTPS-соединения. На
+ практике это похоже на ситуацию, когда оборудование оператора (ТСПУ) видит
+ имя домена и разрывает соединение до передачи полезных данных.
+
+ -
+ ТСПУ Блок
+ – TCP-трассировка до цели остановилась раньше контрольной трассировки.
+ Обычно означает, что соединение разрывается на оборудовании оператора
+ (ТСПУ) до того как соединение дошло до цели.
-
Белый список – похоже на блокировку по домену сайта в начале
- HTTPS-соединения. Вероятнее всего, указывает на блокировку сайта на ТСПУ.
+ >Белый список – данные передаются в полном объеме при подстановке
+ домена в SNI при подключении к заблокированному серверу.
-
- Неясно – данных недостаточно или ответы противоречат друг другу.
+ Неясно
+ – данных недостаточно или ответы противоречат друг другу.