ΠΡΠ²Π΅Π΄Π΅Π½ΠΈΠ΅

Π‘ΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΠ΅ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅, ΠΎΡ ΡΠ°ΠΊΠΈΠ²Π° ΠΈΠΌΠ΅Π½ΠΈΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ ΠΊΠ°ΡΠΎ Cisco, BlueCoat ΠΈ FireEye, ΠΈΠΌΠ°Ρ Π΄ΠΎΡΡΠ° ΠΎΠ±ΡΠΎ Ρ ΠΏΠΎ-ΠΌΠΎΡΠ½ΠΈΡΠ΅ ΡΠΈ Π°Π½Π°Π»ΠΎΠ·ΠΈ - DPI ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΡΠΈΠ»Π΅Π½ΠΎ ΡΠ΅ Π²Π½Π΅Π΄ΡΡΠ²Π°Ρ Π½Π° Π½Π°ΡΠΈΠΎΠ½Π°Π»Π½ΠΎ Π½ΠΈΠ²ΠΎ. Π‘ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΠΈ Π½Π° Π΄Π²Π°ΡΠ° ΡΠΈΠΏΠ° ΡΠΈΡΡΠ΅ΠΌΠΈ Π΅ Π΄Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ ΠΈΠ½ΡΠΏΠ΅ΠΊΡΠΈΡ Π½Π° Π²Ρ
ΠΎΠ΄ΡΡΠΈΡ ΠΈ ΠΈΠ·Ρ
ΠΎΠ΄ΡΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΡΠ°ΡΠΈΠΊ ΠΈ Π½Π° Π±Π°Π·Π° ΡΠ΅ΡΠ½ΠΈ/Π±Π΅Π»ΠΈ ΡΠΏΠΈΡΡΡΠΈ Π΄Π° Π²Π·Π΅ΠΌΠ°Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ Π²ΡΡΠ·ΠΊΠ°ΡΠ°. Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΠΈ Π΄Π²Π΅ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠ°Π·ΡΠΈΡΠ°Ρ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π°ΡΠ° Π½Π° ΡΠ²ΠΎΡΡΠ° ΡΠ°Π±ΠΎΡΠ°, Π½Π°ΡΠΈΠ½ΠΈΡΠ΅ Π·Π° Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ ΡΡΡΠΎ ΡΠ΅ ΠΈΠΌΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠΎ.
ΠΠ΄Π½Π° ΠΎΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈΡΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ ΠΊΠ°ΠΊΡΠΎ Π½Π° DPI, ΡΠ°ΠΊΠ° ΠΈ Π½Π° ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, Π΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° Π΄ΠΎΠΌΠ΅ΠΉΠ½-ΡΡΠΎΠ½ΡΠΈΠ½Π³. Π‘ΡΡΠ½ΠΎΡΡΡΠ° Ρ Π΅, ΡΠ΅ Π½ΠΈΠ΅ ΡΠ΅ Π½Π°ΡΠΎΡΠ²Π°ΠΌΠ΅ ΠΊΡΠΌ Π±Π»ΠΎΠΊΠΈΡΠ°Π½ΠΈΡ ΡΠ΅ΡΡΡΡ, ΠΏΡΠΈΠΊΡΠΈΠ²Π°ΠΉΠΊΠΈ ΡΠ΅ Ρ Π΄ΡΡΠ³, ΠΏΡΠ±Π»ΠΈΡΠ΅Π½ Π΄ΠΎΠΌΠ΅ΠΉΠ½ Ρ Π΄ΠΎΠ±ΡΠ° ΡΠ΅ΠΏΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠΉΡΠΎ ΡΡΡ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π½ΡΠΌΠ° Π΄Π° Π±ΡΠ΄Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π½ ΠΎΡ Π½ΠΈΡΠΎ Π΅Π΄Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ google.com.
ΠΠ° ΡΠ°Π·ΠΈ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π²Π΅ΡΠ΅ ΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π΄ΠΎΡΡΠ° ΡΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΈ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈΡΠ΅ ΠΈ Π΄ΠΈΡΠΊΡΡΠΈΡΠ°Π½ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ DNS-over-HTTPS ΠΈ encrypted-SNI, Π° ΡΡΡΠΎ ΠΈ Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° TLS 1.3 Π΄Π°Π²Π°Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΎΡΠ΅ Π΅Π΄ΠΈΠ½ Π²Π°ΡΠΈΠ°Π½Ρ Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½-ΡΡΠΎΠ½ΡΠΈΠ½Π³.
Π Π°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ°
ΠΡΡΠ²ΠΎ, Π½Π΅ΠΊΠ° Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΠΌ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ, Π·Π° Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΊΠΎΠΉ Π΅ ΠΊΠΎΠΉ ΠΈ Π·Π°ΡΠΎ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ. Π‘ΠΏΠΎΠΌΠ΅Π½Π°Ρ ΠΌΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° eSNI, ΡΠΈΡΡΠΎ ΡΠ°Π±ΠΎΡΠ° ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΠΎ-Π½Π°ΡΠ°ΡΡΠΊ. ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡΡ eSNI (encrypted Server Name Indication) Π΅ Π·Π°ΡΠΈΡΠ΅Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° SNI, Π½Π°Π»ΠΈΡΠ½Π° ΡΠ°ΠΌΠΎ Π·Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ» TLS 1.3. ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΡΡΠ½ΠΎΡΡ Π΅ Π΄Π° ΡΠ΅ ΠΊΡΠΈΠΏΡΠΈΡΠ° ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π·Π° ΡΠΎΠ²Π°, ΠΊΡΠΌ ΠΊΠΎΠΉ Π΄ΠΎΠΌΠ΅ΠΉΠ½ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ° Π·Π°ΡΠ²ΠΊΠ°ΡΠ°.
Π ΡΠ΅Π³Π° Π½Π΅ΠΊΠ° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡΡ eSNI Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°.
ΠΠ° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΠ΅ΡΡΡΡ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠ° ΠΎΡ ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° DPI (Π΄Π° Π²Π·Π΅ΠΌΠ΅ΠΌ Π·Π° ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈΡ ΡΠΎΡΡΠ΅Π½Ρ ΡΡΠ°ΠΊΠ΅Ρ β rutracker.nl). ΠΡΠΈ ΠΎΠΏΠΈΡ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΠ°ΠΉΡΠ° Π½Π° ΡΠΎΡΡΠ΅Π½Ρ ΡΡΠ°ΠΊΠ΅ΡΠ° β Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° Π·Π°Π³Π»ΡΡΠΊΠ° ΠΎΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ°, ΡΠ΅ ΡΠ΅ΡΡΡΡΡΡ Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π½:

ΠΠ° ΡΠ°ΠΉΡΠ° Π½Π° Π ΠΠ ΡΠΎΠ·ΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½ Π½Π°ΠΈΡΡΠΈΠ½Π° ΡΠΈΠ³ΡΡΠΈΡΠ° Π² ΡΠ΅ΡΠ½ΠΈΡΠ΅ ΡΠΏΠΈΡΡΡΠΈ:

ΠΡΠΈ Π·Π°ΡΠ²ΠΊΠ° whois β Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, ΡΠ΅ ΡΠ°ΠΌΠΈΡΡ Π΄ΠΎΠΌΠ΅ΠΉΠ½ Π΅ "ΡΠΊΡΠΈΡ" Π·Π°Π΄ ΠΎΠ±Π»Π°ΡΠ΅Π½ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ Cloudflare.

ΠΠΎ Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ "ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΈΡΠ΅" ΠΎΡ Π ΠΠ, ΠΏΠΎ-Π½Π°ΠΏΡΠ΅Π΄Π½ΠΈΡΠ°Π²ΠΈΡΠ΅ ΡΠ»ΡΠΆΠΈΡΠ΅Π»ΠΈ ΠΎΡ ΠΠΈΠ»Π°ΠΉΠ½ (ΠΈΠ»ΠΈ ΠΏΠΎΡΡΠ΅Π½ΠΈ ΠΎΡ Π³ΠΎΡΡΠΈΠ²ΠΈΡ ΠΎΠΏΠΈΡ Π½Π° Π½Π°ΡΠΈΡ Π·Π½Π°ΠΌΠ΅Π½ΠΈΡ ΡΠ΅Π³ΡΠ»Π°ΡΠΎΡ) Π½Π΅ ΠΈΠ·ΡΡΡΠ΅Π»ΡΡ Π° ΡΠ°ΠΉΡΠ° ΡΠ°ΠΌΠΎ ΠΏΠΎ IP Π°Π΄ΡΠ΅ΡΠ°, Π° Π³ΠΎ Π²ΠΊΠ»ΡΡΠΈΡ Π° Π² ΡΠ΅ΡΠ½ΠΈΡ ΡΠΏΠΈΡΡΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄ΠΎΠΌΠ΅ΠΉΠ½ ΠΈΠΌΠ΅. ΠΠ΅ΡΠ½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ±Π΅Π΄ΠΈ Π² ΡΠΎΠ²Π°, Π°ΠΊΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΡΠ΅ ΠΊΠΎΠΉ ΠΎΡΠ΅ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ ΡΠ΅ ΠΊΡΠΈΡΡ ΠΏΠΎΠ΄ ΡΠΎΠ·ΠΈ ΡΡΡΠΈΡ IP Π°Π΄ΡΠ΅ΡΠ°, ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ Π΅Π΄ΠΈΠ½ ΠΎΡ ΡΡΡ ΠΈ Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΠ΅ Π΄ΠΎΡΡΡΠΏΡΡ Π½Π΅ Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π½:

Π ΠΊΠ°ΠΊ ΡΠ°ΠΊΠ° ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π°? ΠΠ°ΠΊ ΠΏΠΎ Π΄ΡΠ²ΠΎΠ»ΠΈΡΠ΅ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΡΠΊΠΈΡΡ DPI ΡΠ°Π·Π±ΠΈΡΠ° Π½Π° ΠΊΠΎΠΉ ΠΎΡ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈΡΠ΅ ΠΎΡΠΈΠ²Π° ΠΌΠΎΡΡ Π±ΡΠ°ΡΠ·Π΅Ρ, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ Π²ΡΠΈΡΠΊΠΈΡΠ΅ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» https, Π° ΠΏΠΎΠ΄ΠΌΡΠ½Π°ΡΠ° Π½Π° https ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ΅ ΠΎΡ ΠΠΈΠ»Π°ΠΉΠ½ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠΌΠ΅ Π·Π°Π±Π΅Π»ΡΠ·Π°Π»ΠΈ? ΠΠ΅ Π΅ Π»ΠΈ ΡΡΠ½ΠΎΠ²ΠΈΠ΄Π΅Ρ ΠΈΠ»ΠΈ Π½ΡΠΊΠΎΠΉ ΡΠ»Π΅Π΄ΠΈ ΠΌΠ΅Π½?
ΠΠ΅ΠΊΠ° ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΠΌΠ΅ Π΄Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈΠΌ Π½Π° ΡΠΎΠ·ΠΈ Π²ΡΠΏΡΠΎΡ, ΠΊΠ°ΡΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ ΡΡΠ°ΡΠΈΠΊΠ° ΠΏΡΠ΅Π· Wireshark

ΠΠ° ΡΠΊΡΠΈΠ½ΡΠΎΡΠ° Π΅ Π²ΠΈΠ΄Π½ΠΎ, ΡΠ΅ ΠΏΡΡΠ²ΠΎ Π±ΡΠ°ΡΠ·Π΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠ°Π²Π° IP Π°Π΄ΡΠ΅ΡΠ° Π½Π° ΡΡΡΠ²ΡΡΠ° ΡΡΠ΅Π· DNS, ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎ TCP ΡΡΠΊΠΎΡΡΠΈΡΠΊΠ°Π½Π΅ Ρ ΡΠ΅Π»Π΅Π²ΠΈΡ ΡΡΡΠ²ΡΡ, Π° ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π±ΡΠ°ΡΠ·Π΅ΡΡΡ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π° Π΄Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΈ ssl Π²ΡΡΠ·ΠΊΠ° ΡΡΡ ΡΡΡΠ²ΡΡΠ°. ΠΠ° ΡΠ΅Π»ΡΠ° ΡΠΎΠΉ ΠΏΡΠ΅Π΄Π°Π²Π° ΠΏΠ°ΠΊΠ΅Ρ SSL Client Hello, Π² ΠΊΠΎΠΉΡΠΎ ΠΏΡΠΈΡΡΡΡΠ²Π° ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ Π΄ΠΎΠΌΠ΅ΠΉΠ½ Π² ΠΎΡΠΊΡΠΈΡ Π²ΠΈΠ΄. Π’ΠΎΠ²Π° ΠΏΠΎΠ»Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π° ΡΡΠΎΠ½ΡΠ΅Π½Π΄ ΡΡΡΠ²Π΅ΡΠ° Cloudflare, Π·Π° Π΄Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ Π²ΡΡΠ·ΠΊΠ°ΡΠ°. Π’ΡΠΊ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΡΠΊΠΈΡΡ DPI Π½ΠΈ Ρ Π²Π°ΡΠ°, ΠΏΡΠ΅ΠΊΡΡΠ²Π°ΠΉΠΊΠΈ Π½Π°ΡΠ°ΡΠ° Π²ΡΡΠ·ΠΊΠ°. ΠΡΠΈ ΡΠΎΠ²Π° Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ Π½ΠΈΠΊΠ°ΠΊΠ²Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° ΠΎΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ° ΠΈ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π° Π³ΡΠ΅ΡΠΊΠ° Π½Π° Π±ΡΠ°ΡΠ·Π΅ΡΠ°, ΡΡΠΊΠ°Ρ ΡΠ°ΠΉΡΠ° Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠΈ:

Π‘Π΅Π³Π° Π½Π΅ΠΊΠ° Π²ΠΊΠ»ΡΡΠΈΠΌ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ° eSNI Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ°, ΠΊΠ°ΠΊΡΠΎ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π² ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΡΠ΅ Π·Π° Firefox :
ΠΠ° ΡΠ΅Π»ΡΠ° ΠΎΡΠ²Π°ΡΡΠΌΠ΅ ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Firefox about:config ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΠΌΠ΅ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ:
network.trr.mode = 2;
network.trr.uri = https://mozilla.cloudflare-dns.com/dns-query
network.security.esni.enabled = true
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ ΠΊΠΎΡΠ΅ΠΊΡΠ½ΠΎΡΡΡΠ° Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° ΡΠ°ΠΉΡΠ° Π½Π° Cloudflare ΠΏΠΎ Π²ΡΡΠ·ΠΊΠ° ΠΈ ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΠΌΠ΅ ΡΡΠΈΠΊΠ° Ρ Π½Π°ΡΠΈΡ ΡΠΎΡΡΠ΅Π½Ρ ΡΡΠ΅ΠΊΠ΅Ρ ΠΎΡΠ½ΠΎΠ²ΠΎ.

ΠΡΠΎ Ρ. ΠΠ°ΡΠΈΡΡ Π»ΡΠ±ΠΈΠΌ ΡΡΠ΅ΠΊΠ΅Ρ ΡΠ΅ ΠΎΡΠ²ΠΎΡΠΈ, Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ VPN ΠΈ ΠΏΡΠΎΠΊΡΠΈ ΡΡΡΠ²ΡΡΠΈ. ΠΠ΅ΠΊΠ° ΡΠ΅Π³Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ Π½Π° Π΄Π°ΠΌΠΏΠ° Π½Π° ΡΡΠ°ΡΠΈΠΊΠ° Π² Wireshark, ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ Π΅ ΡΠ»ΡΡΠΈΠ»ΠΎ.

Π’ΠΎΠ·ΠΈ ΠΏΡΡ ΠΏΠ°ΠΊΠ΅ΡΡΡ ssl client hello Π½Π΅ ΡΡΠ΄ΡΡΠΆΠ° ΡΠ²Π½ΠΎ Π΄ΠΎΠΌΠ΅ΠΉΠ½ ΡΠ΅Π», Π° Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ²Π° Π² ΡΡΡΡΠ°Π²Π° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ° ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ Π½ΠΎΠ²ΠΎ ΠΏΠΎΠ»Π΅ β encrypted_server_name β ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΌ ΡΠ΅ ΡΡΠ΄ΡΡΠΆΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° rutracker.nl, ΠΈ ΡΠ°ΠΌΠΎ ΡΡΠΎΠ½ΡΠ΅Π½Π΄ ΡΡΡΠ²ΡΡΡΡ Cloudflare ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠ° ΡΠΎΠ²Π° ΠΏΠΎΠ»Π΅. Π ΡΠΎΠΌ ΡΠ°ΠΊΠ°, Π½Π° ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΡΠΊΠΈΡ DPI Π½Π΅ ΠΎΡΡΠ°Π²Π° Π½ΠΈΡΠΎ Π΄ΡΡΠ³ΠΎ, ΠΎΡΠ²Π΅Π½ Π΄Π° ΠΈΠ·ΠΌΠΈΠ΅ ΡΡΡΠ΅ΡΠ΅ ΡΠΈ ΠΈ Π΄Π° ΡΠ°Π·ΡΠ΅ΡΠΈ ΡΠ°ΠΊΡΠ² ΡΡΠ°ΡΠΈΠΊ. Π Π½ΡΠΌΠ° ΠΈ Π΄ΡΡΠ³ΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠΈ Π·Π° ΡΠΈΡΡΠΎΠ²Π°Π½Π΅.
Π ΡΠ°ΠΊΠ°, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° Π² Π±ΡΠ°ΡΠ·ΡΡΠ° β ΡΠ°Π·Π³Π»Π΅Π΄Π°Ρ ΠΌΠ΅. Π‘Π΅Π³Π° Π½Π΅ΠΊΠ° ΠΎΠΏΠΈΡΠ°ΠΌΠ΅ Π΄Π° Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠΌ Π·Π° ΠΏΠΎ-ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ Π½Π΅ΡΠ°. ΠΡΡΠ²ΠΎ, ΡΠ΅ Π½Π°ΡΡΠΈΠΌ curl Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° eSNI, Π·Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Ρ TLS 1.3, Π° ΠΈ ΡΠ΅ Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ ΡΠ°ΠΌΠΈΡΡ Π΄ΠΎΠΌΠ΅ΠΉΠ½ ΡΡΠΎΠ½ΡΠΈΠ½Π³ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° eSNI.
ΠΠΎΠΌΠ΅Π½ ΡΡΠΎΠ½ΡΠΈΠ½Π³ Ρ eSNI
ΠΠΎΠ½Π΅ΠΆΠ΅ curl Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» https ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° openssl, ΠΏΡΡΠ²ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΡΠΈΠ³ΡΡΠΈΠΌ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° eSNI ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΌ. Π ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ Π½Π° openssl Π²ΡΠ΅ ΠΎΡΠ΅ Π½ΡΠΌΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° eSNI, Π·Π°ΡΠΎΠ²Π° ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·ΡΠ΅Π³Π»ΠΈΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»Π΅Π½ ΠΊΠ»ΠΎΠ½ Π½Π° openssl, Π΄Π° Π³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°ΠΌΠ΅ ΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠ΅.
ΠΠ»ΠΎΠ½ΠΈΡΠ°ΠΌΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΎΡ GitHub ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°ΠΌΠ΅ ΠΊΠ°ΠΊΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ:
$ git clone https://github.com/sftcd/openssl
$ cd openssl
$ ./config
$ make
$ cd esnistuff
$ make
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΠΊΠ»ΠΎΠ½ΠΈΡΠ°ΠΌΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Ρ curl ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΡΠ° ΠΌΡ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π½Π°ΡΠ°ΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π° openssl Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°:
$ cd $HOME/code
$ git clone https://github.com/niallor/curl.git curl-esni
$ cd curl-esni
$ export LD_LIBRARY_PATH=/opt/openssl
$ ./buildconf
$ LDFLAGS="-L/opt/openssl" ./configure --with-ssl=/opt/openssl --enable-esni --enable-debug
ΠΠ°ΠΆΠ½ΠΎ Π΅ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ Π΄Π° ΠΏΠΎΡΠΎΡΠΈΠΌ Π²ΡΠΈΡΠΊΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, Π² ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ° openssl (Π² Π½Π°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ β ΡΠΎΠ²Π° Π΅ /opt/openssl/) ΠΈ Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΠΈΠΌ, ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π» Π±Π΅Π· Π³ΡΠ΅ΡΠΊΠΈ.
ΠΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ β ΡΠ΅ Π²ΠΈΠ΄ΠΈΠΌ ΡΠ΅Π΄:
WARNING: esni ESNI enabled but marked EXPERIMENTAL. Use with caution!
$ makeΠ‘Π»Π΅Π΄ ΡΡΠΏΠ΅ΡΠ½ΠΎΡΠΎ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ°, ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»Π΅Π½ bash ΡΠ°ΠΉΠ» ΠΎΡ ΡΡΡΡΠ°Π²Π° Π½Π° openssl Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° curl. Π©Π΅ Π³ΠΎ ΠΊΠΎΠΏΠΈΡΠ°ΠΌΠ΅ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° Ρ curl Π·Π° ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ:
cp /opt/openssl/esnistuff/curl-esni ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌ ΡΠ΅ΡΡΠΎΠ²Π° https Π·Π°ΡΠ²ΠΊΠ° ΠΊΡΠΌ ΡΡΡΠ²ΡΡΠ° Π½Π° cloudflare, ΠΊΠ°ΡΠΎ Π·Π°ΠΏΠΈΡΠ²Π°ΠΌΠ΅ DNS ΠΈ TLS ΠΏΠ°ΠΊΠ΅ΡΠΈ Π² Wireshark.
$ ESNI_COVER="www.hello-rkn.ru" ./curl-esni https://cloudflare.com/Π ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ° Π½Π° ΡΡΡΠ²ΡΡΠ°, ΠΎΡΠ²Π΅Π½ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄Π΅Π±ΡΠ³ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ openssl ΠΈ curl, ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ HTTP ΠΎΡΠ³ΠΎΠ²ΠΎΡ Ρ ΠΊΠΎΠ΄ 301 ΠΎΡ cloudflare.
HTTP/1.1 301 Moved Permanently
< Date: Sun, 03 Nov 2019 13:12:55 GMT
< Transfer-Encoding: chunked
< Connection: keep-alive
< Cache-Control: max-age=3600
< Expires: Sun, 03 Nov 2019 14:12:55 GMT
< Location: https://www.cloudflare.com/
ΠΊΠΎΠ΅ΡΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΠ²Π°, ΡΠ΅ Π½Π°ΡΠΈΡΡ Π·Π°ΠΏΠΈΡ Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π΄ΠΎΡΡΠ°Π²Π΅Π½ Π΄ΠΎ ΡΡΡΠ²ΡΡΠ° Π½Π° Π΄Π΅ΡΡΠΈΠ½Π°ΡΠΈΡΡΠ°, ΡΡΠ»ΠΎ Π΅ ΠΈ Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ΠΎ.
Π‘Π΅Π³Π° Π½Π΅ΠΊΠ° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ Π½Π° Π΄ΡΠΌΠΏΠ° Π½Π° ΡΡΠ°ΡΠΈΠΊΠ° Π² Wireshark, Ρ.Π΅. ΠΊΠ°ΠΊΠ²ΠΎ Π²ΠΈΠ΄Ρ Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° Π½Π° DPI.

Π―ΡΠ½ΠΎ, ΡΠ΅ Π² Π½Π°ΡΠ°Π»ΠΎΡΠΎ curl ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π° Ρ DNS ΡΡΡΠ²ΡΡΠ° Π·Π° ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈΡ eSNI ΠΊΠ»ΡΡ Π·Π° ΡΡΡΠ²ΡΡΠ° cloudflare β TXT DNS Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° _esni.cloudflare.com (ΠΏΠ°ΠΊΠ΅Ρ β13). Π‘Π»Π΅Π΄ ΡΠΎΠ²Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ openssl Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ°, curl ΠΈΠ·ΠΏΡΠ°ΡΠ° TLS 1.3 Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ Π΄ΠΎ ΡΡΡΠ²ΡΡΠ° cloudflare, Π² ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ»Π΅ΡΠΎ SNI Π΅ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ΠΎ Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈΡ ΠΊΠ»ΡΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½ Π½Π° ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈΡ Π΅ΡΠ°ΠΏ (ΠΏΠ°ΠΊΠ΅Ρ β22). ΠΠΎ, ΠΎΡΠ²Π΅Π½ ΠΏΠΎΠ»Π΅ΡΠΎ eSNI, Π² SSL-hello ΠΏΠ°ΠΊΠ΅ΡΠ° Π±Π΅ΡΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ ΠΈ ΠΏΠΎΠ»Π΅ Ρ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ β ΠΎΡΠΊΡΠΈΡ SNI, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΠΌ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ ΡΠ΅Π΄ (Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ β www.hello-rkn.ru).
Π’ΠΎΠ²Π° ΠΏΠΎΠ»Π΅ Ρ ΠΎΡΠΊΡΠΈΡ SNI Π½Π΅ Π΅ Π²Π·Π΅ΡΠΎ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° ΠΎΡ ΡΡΡΠ²ΡΡΠΈΡΠ΅ Π½Π° cloudflare ΠΈ ΠΏΡΠΎΡΡΠΎ Π΅ ΡΠ»ΡΠΆΠ΅Π»ΠΎ Π·Π° ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠ° ΡΡΠ΅ΡΡ DPI Π½Π° ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ°. Π‘ΡΡΠ²ΡΡΡΡ cloudflare ΠΏΡΠΈΠ΅ Π½Π°ΡΠΈΡ ssl-hello ΠΏΠ°ΠΊΠ΅Ρ, Π΄Π΅ΠΊΡΠΈΠΏΡΠΈΡΠ° eSNI, ΠΈΠ·Π²Π»Π΅ΡΠ΅ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡ SNI ΠΎΡ Π½Π΅Π³ΠΎ ΠΈ Π³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΈ Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ (Π½Π°ΠΏΡΠ°Π²ΠΈ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΡΠ½ΠΎ ΠΊΠ°ΠΊΡΠΎ Π±Π΅ΡΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½ΠΎ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° eSNI).
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎΡΠΎ, Π·Π° ΠΊΠΎΠ΅ΡΠΎ Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π·Π°ΡΠ΅ΠΏΠΈ ΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° DPI β ΠΏΡΡΠ²ΠΈΡΠ½ΠΎΡΠΎ DNS Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° _esni.cloudflare.com. ΠΠΎ Π½ΠΈΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈΡ ΠΌΠ΅ DNS Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ΡΠΎ ΠΎΡΠΊΡΠΈΡΠΎ ΡΠ°ΠΌΠΎ Π·Π° Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ ΡΠΎΠ·ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ ΠΎΡΠ²ΡΡΡΠ΅.
ΠΠ° Π΄Π° ΠΈΠ·Π²Π°Π΄ΠΈΠΌ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»Π½ΠΎ ΠΏΠΎΡΠ²Π°ΡΠ° ΠΎΡ ΠΊΡΠ°ΠΊΠ°ΡΠ° Π½Π° DPI, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π²Π΅ΡΠ΅ ΡΠΏΠΎΠΌΠ΅Π½Π°ΡΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ DNS-over-HTTPS. ΠΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΡ β DOH β ΠΏΡΠΎΡΠΎΠΊΠΎΠ», ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π·Π°ΡΠΈΡΠ° ΠΎΡ Π°ΡΠ°ΠΊΠ°ΡΠ° βΡΠΎΠ²Π΅ΠΊ Π² ΡΡΠ΅Π΄Π°ΡΠ°β ΡΡΠ΅Π· ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° DNS Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» HTTPS.
ΠΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΠΌΠ΅ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ΡΠΎ ΠΎΡΠ½ΠΎΠ²ΠΎ, Π½ΠΎ ΡΠΎΠ·ΠΈ ΠΏΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈΡΠ΅ eSNI ΠΊΠ»ΡΡΠΎΠ²Π΅ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» https, Π° Π½Π΅ DNS:
ESNI_COVER="www.hello-rkn.ru" DOH_URL=https://mozilla.cloudflare-dns.com/dns-query ./curl-esni https://cloudflare.com/ΠΠ°ΠΌΠΏΡΡ Π½Π° ΡΡΠ°ΡΠΈΠΊΠ° ΠΎΡ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ΡΠΎ Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ Π½Π° Π΅ΠΊΡΠ°Π½Π° ΠΏΠΎ-Π΄ΠΎΠ»Ρ:

Π―ΡΠ½ΠΎ Π΅, ΡΠ΅ ΠΏΡΡΠ²ΠΎ curl ΡΠ΅ ΠΎΠ±ΡΡΡΠ° ΠΊΡΠΌ ΡΡΡΠ²ΡΡΠ° mozilla.cloudflare-dns.com ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» DoH (https Π²ΡΡΠ·ΠΊΠ° ΠΊΡΠΌ ΡΡΡΠ²ΡΡ 104.16.249.249), Π·Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈΡΠ΅ ΠΊΠ»ΡΡΠΎΠ²Π΅ Π·Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° SNI, Π° ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π²Π΅ΡΠ΅ ΠΊΡΠΌ ΡΠ΅Π»Π΅Π²ΠΈΡ ΡΡΡΠ²ΡΡ, ΠΏΡΠΈΠΊΡΠΈΠ²Π°ΠΉΠΊΠΈ ΡΠ΅ Ρ Π΄ΠΎΠΌΠ΅ΠΉΠ½Π° www.hello-rkn.ru.
ΠΡΠ²Π΅Π½ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈΡ ΠΏΠΎ-Π³ΠΎΡΠ΅ DoH ΡΠ΅Π·ΠΎΠ»Π²Π΅Ρ mozilla.cloudflare-dns.com, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΈ Π΄ΡΡΠ³ΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈ DoH ΡΡΠ»ΡΠ³ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡ ΠΈΠ·Π²Π΅ΡΡΠ½Π°ΡΠ° ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΡ Π½Π° Π·Π»ΠΎΡΠΎ.
ΠΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΠΌΠ΅ ΡΠ°ΠΊΠ°Π²Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅:
ESNI_COVER="www.kremlin.ru" DOH_URL=https://dns.google/dns-query ./curl-esni https://rutracker.nl/Π ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΎΡΠ³ΠΎΠ²ΠΎΡ:
< HTTP/1.1 301 Πoved Permanently
< Date: Sun, 03 Nov 2019 14:10:22 GMT
< Content-Type: text/html
< Transfer-Encoding: chunked
< Connection: keep-alive
< Set-Cookie: __cfduid=da0144d982437e77b0b37af7d00438b1a1572790222; expires=Mon, 02-Nov-20 14:10:22 GMT; path=/; domain=.rutracker.nl; HttpOnly; Secure
< Location: https://rutracker.nl/forum/index.php
< CF-Cache-Status: DYNAMIC
< Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
< Server: cloudflare
< CF-RAY: 52feee696f42d891-CPH

Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΡΠ΅ ΡΠ²ΡΡΠ·Π°Ρ ΠΌΠ΅ Ρ Π±Π»ΠΎΠΊΠΈΡΠ°Π½ ΡΡΡΠ²ΡΡ rutracker.nl, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ DoH ΡΠ΅Π·ΠΎΠ»Π²Π΅ΡΠ° dns.google (ΡΡΠΊ Π½ΡΠΌΠ° Π³ΡΠ΅ΡΠΊΠ°, ΡΠ΅Π³Π° ΠΈΠ·Π²Π΅ΡΡΠ½Π°ΡΠ° ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΡ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π° ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½ Π΄ΠΎΠΌΠ΅ΠΉΠ½ ΠΎΡ ΠΏΡΡΠ²ΠΎ Π½ΠΈΠ²ΠΎ) ΠΈ ΡΠ΅ ΠΏΡΠΈΠΊΡΠΈΡ ΠΌΠ΅ Ρ Π΄ΡΡΠ³ Π΄ΠΎΠΌΠ΅ΠΉΠ½, Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠΉΡΠΎ Π΅ ΡΡΡΠΎΠ³ΠΎ Π·Π°Π±ΡΠ°Π½Π΅Π½ΠΎ Π½Π° Π²ΡΠΈΡΠΊΠΈ DPI ΠΏΠΎΠ΄ ΡΡΠΎΡΠ²Π΅ΡΠ½Π°ΡΠ° Π³Π»ΠΎΠ±Π°. ΠΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠ³ΠΎΠ²ΠΎΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ, ΡΠ΅ Π½Π°ΡΠΈΡΡ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ.
ΠΠ°ΡΠΎ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠΎΠ²Π°, ΡΠ΅ ΠΏΡΠΎΠ²Π°ΠΉΠ΄ΡΡΡΠΊΠΈΡΡ DPI ΡΠ΅Π°Π³ΠΈΡΠ° Π½Π° ΠΎΡΠΊΡΠΈΡ SNI, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ°ΠΌΠ΅ ΠΊΠ°ΡΠΎ ΠΏΡΠΈΠΊΡΠΈΡΠΈΠ΅ β ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ ΠΊΡΠΌ rutracker.nl, ΠΏΡΠΈΠΊΡΠΈΠ²Π°ΠΉΠΊΠΈ ΡΠ΅ Π·Π°Π΄ Π΄ΡΡΠ³ Π·Π°Π±ΡΠ°Π½Π΅Π½ ΡΠ΅ΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄ΡΡΠ³ "Π΄ΠΎΠ±ΡΡ" ΡΠΎΡΡΠ΅Π½Ρ ΡΡΠ°ΠΊΠ΅Ρ:
$ ESNI_COVER="rutor.info" DOH_URL=https://dns.google/dns-query ./curl-esni https://rutracker.nl/ΠΡΠΌΠ° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΎΡΠ³ΠΎΠ²ΠΎΡ ΠΎΡ ΡΡΡΠ²ΡΡΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π½Π°ΡΠΈΡΡ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ ΡΠ΅ Π±ΡΠ΄Π΅ BLOCKED ΠΎΡ DPI ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°.
ΠΡΠ°ΡΠΊΠΎ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΡΠ²Π°ΡΠ° ΡΠ°ΡΡ
Π ΡΠ°ΠΊΠ°, ΡΡΠΏΡΡ ΠΌΠ΅ Π΄Π° Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠ°ΠΌΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° eSNI Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° openssl ΠΈ curl ΠΈ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½-ΡΡΠΎΠ½ΡΠΈΠ½Π³Π°, ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° eSNI. ΠΠΎ ΡΡΡΠΈΡ Π½Π°ΡΠΈΠ½ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π°Π΄Π°ΠΏΡΠΈΡΠ°ΠΌΠ΅ Π»ΡΠ±ΠΈΠΌΠΈΡΠ΅ ΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° openssl, Π·Π° ΡΠ°Π±ΠΎΡΠ° "ΠΏΠΎΠ΄ ΠΏΡΠΈΠΊΡΠΈΡΠΈΠ΅" Π½Π° Π΄ΡΡΠ³ΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ. ΠΠΎΠ²Π΅ΡΠ΅ Π·Π° ΡΠΎΠ²Π° β Π² Π½Π°ΡΠΈΡΠ΅ ΡΠ»Π΅Π΄Π²Π°ΡΠΈ ΡΡΠ°ΡΠΈΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
