Π²ΡΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π‘ΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΠ΅ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ ΠΎΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ ΠΊΠ°ΡΠΎ Cisco, BlueCoat, FireEye ΠΈΠΌΠ°Ρ Π΄ΠΎΡΡΠ° ΠΎΠ±ΡΠΈ ΡΠ΅ΡΡΠΈ Ρ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ ΠΏΠΎ-ΠΌΠΎΡΠ½ΠΈ ΠΊΠΎΠ»Π΅Π³ΠΈ - DPI ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π²Π½Π΅Π΄ΡΡΠ²Π°Ρ ΡΡΠΈΠ»Π΅Π½ΠΎ Π½Π° Π½Π°ΡΠΈΠΎΠ½Π°Π»Π½ΠΎ Π½ΠΈΠ²ΠΎ. Π‘ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΠΈ Π½Π° Π΄Π²Π°ΠΌΠ°ΡΠ° Π΅ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°Ρ Π²Ρ
ΠΎΠ΄ΡΡΠΈΡ ΠΈ ΠΈΠ·Ρ
ΠΎΠ΄ΡΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΡΠ°ΡΠΈΠΊ ΠΈ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΠ΅ΡΠ½ΠΈ / Π±Π΅Π»ΠΈ ΡΠΏΠΈΡΡΡΠΈ Π΄Π° Π²Π·Π΅ΠΌΠ°Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π° Π·Π°Π±ΡΠ°Π½Π° Π½Π° ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ Π²ΡΡΠ·ΠΊΠ°ΡΠ°. Π ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΈ Π΄Π²Π°ΠΌΠ°ΡΠ° ΡΠ°Π·ΡΠΈΡΠ°Ρ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ Π² ΠΎΡΠ½ΠΎΠ²ΠΈΡΠ΅ Π½Π° ΡΠ²ΠΎΡΡΠ° ΡΠ°Π±ΠΎΡΠ°, Π½Π°ΡΠΈΠ½ΠΈΡΠ΅ Π·Π° Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ΡΠΎ ΠΈΠΌ ΡΡΡΠΎ ΡΠ΅ ΠΈΠΌΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠΈ Π½Π΅ΡΠ°.
ΠΠ΄Π½Π° ΠΎΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄ΠΎΡΡΠ° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π΄Π° Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΡΡ ΠΊΠ°ΠΊΡΠΎ DPI, ΡΠ°ΠΊΠ° ΠΈ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ, Π΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° Π·Π° Π»ΠΈΡΠ΅ Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½. Π‘ΡΡΠ½ΠΎΡΡΡΠ° ΠΌΡ Π΅, ΡΠ΅ ΠΎΡΠΈΠ²Π°ΠΌΠ΅ Π½Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½ ΡΠ΅ΡΡΡΡ, ΠΊΡΠΈΠ΅ΠΉΠΊΠΈ ΡΠ΅ Π·Π°Π΄ Π΄ΡΡΠ³, ΠΏΡΠ±Π»ΠΈΡΠ΅Π½ Π΄ΠΎΠΌΠ΅ΠΉΠ½, Ρ Π΄ΠΎΠ±ΡΠ° ΡΠ΅ΠΏΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠΉΡΠΎ ΡΡΡ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π½ΡΠΌΠ° Π΄Π° Π±ΡΠ΄Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π½ ΠΎΡ Π½ΠΈΠΊΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ google.com.
ΠΠ° ΡΠ°Π·ΠΈ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π²Π΅ΡΠ΅ ΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ°ΡΠΈΠΈ ΠΈ ΡΠ° Π΄Π°Π΄Π΅Π½ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΈ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π° ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈΡΠ΅ DNS-over-HTTPS ΠΈ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ΠΈ-SNI, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈ ΠΈ ΠΎΠ±ΡΡΠΆΠ΄Π°Π½ΠΈ Π½Π°ΠΏΠΎΡΠ»Π΅Π΄ΡΠΊ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° TLS 1.3, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΡΠ΅ ΠΎΠ±ΠΌΠΈΡΠ»ΠΈ Π΄ΡΡΠ³Π° ΠΎΠΏΡΠΈΡ Π·Π° Π»ΠΈΡΠ΅ Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½.
ΠΠ°ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ°
ΠΡΡΠ²ΠΎ, Π½Π΅ΠΊΠ° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΠΌΠ΅ ΠΌΠ°Π»ΠΊΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ, ΡΠ°ΠΊΠ° ΡΠ΅ Π²ΡΠ΅ΠΊΠΈ Π΄Π° ΠΈΠΌΠ° ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΊΠΎΠΉ ΠΊΠΎΠΉ Π΅ ΠΈ Π·Π°ΡΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π°. Π‘ΠΏΠΎΠΌΠ΅Π½Π°Ρ ΠΌΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° eSNI, ΡΠΈΡΡΠΎ ΡΠ°Π±ΠΎΡΠ° ΡΠ΅ Π±ΡΠ΄Π΅ ΠΎΠ±ΡΡΠ΄Π΅Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ. ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡΡ eSNI (ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΡ Π·Π° ΡΠΈΡΡΠΎΠ²Π°Π½ΠΎ ΠΈΠΌΠ΅ Π½Π° ΡΡΡΠ²ΡΡ) Π΅ Π·Π°ΡΠΈΡΠ΅Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° SNI, Π΄ΠΎΡΡΡΠΏΠ½Π° ΡΠ°ΠΌΠΎ Π·Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° TLS 1.3. ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΠ΅Π» Π΅ Π΄Π° ΡΠ΅ ΠΊΡΠΈΠΏΡΠΈΡΠ°, Π½Π°ΡΠ΅Π΄ Ρ Π΄ΡΡΠ³ΠΈ Π½Π΅ΡΠ°, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠΎΠ²Π° ΠΊΡΠΌ ΠΊΠΎΠΉ Π΄ΠΎΠΌΠ΅ΠΉΠ½ Π΅ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ°.
Π‘Π΅Π³Π° Π½Π΅ΠΊΠ° Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡΡ eSNI Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°.
ΠΠ° ΠΊΠ°ΠΆΠ΅ΠΌ, ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΠ΅ΡΡΡΡ, ΠΊΠΎΠΉΡΠΎ Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π½ ΠΎΡ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΎ DPI ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ (Π΄Π° Π²Π·Π΅ΠΌΠ΅ΠΌ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈΡ ΡΠΎΡΠ΅Π½Ρ ΡΡΠ°ΠΊΠ΅Ρ - rutracker.nl). ΠΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°ΠΌΠ΅ Π΄Π° ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΠΌ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΠ°ΠΉΡΠ° Π½Π° ΡΠΎΡΠ΅Π½Ρ ΡΡΠ°ΠΊΠ΅Ρ, Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΊΠ°, ΡΠ΅ ΡΠ΅ΡΡΡΡΡΡ Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π½:
ΠΠ° ΡΠ΅Π±ΡΠ°ΠΉΡΠ° Π½Π° RKN ΡΠΎΠ·ΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½ Π½Π°ΠΈΡΡΠΈΠ½Π° Π΅ ΠΏΠΎΡΠΎΡΠ΅Π½ Π² ΡΡΠΎΠΏ ΡΠΏΠΈΡΡΡΠΈΡΠ΅:
ΠΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΈΡΠΊΠ° whois, Π΅ ΡΡΠ½ΠΎ, ΡΠ΅ ΡΠ°ΠΌΠΈΡΡ Π΄ΠΎΠΌΠ΅ΠΉΠ½ Π΅ βΡΠΊΡΠΈΡβ Π·Π°Π΄ ΠΎΠ±Π»Π°ΡΠ½ΠΈΡ Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΊ Π½Π° Cloudflare.
ΠΠΎ Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ βΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΈΡΠ΅β ΠΎΡ RKN, ΠΏΠΎ-ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠΎΠ²Π°Π½ΠΈΡΠ΅ ΡΠ»ΡΠΆΠΈΡΠ΅Π»ΠΈ ΠΎΡ Beeline (ΠΈΠ»ΠΈ Π½Π°ΡΡΠ΅Π½ΠΈ ΠΎΡ Π³ΠΎΡΡΠΈΠ²ΠΈΡ ΠΎΠΏΠΈΡ Π½Π° Π½Π°ΡΠΈΡ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΡΠ΅Π³ΡΠ»Π°ΡΠΎΡ) Π½Π΅ Π³Π»ΡΠΏΠ°Π²ΠΎ Π·Π°Π±ΡΠ°Π½ΠΈΡ
Π° ΡΠ°ΠΉΡΠ° ΠΏΠΎ IP Π°Π΄ΡΠ΅Ρ, Π° ΠΏΠΎΡΡΠ°Π²ΠΈΡ
Π° ΠΈΠΌΠ΅ΡΠΎ Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½Π° Π² ΡΠΏΠΈΡΡΠΊΠ° Π·Π° ΡΠΏΠΈΡΠ°Π½Π΅. Π’ΠΎΠ²Π° Π΅ Π»Π΅ΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈ, Π°ΠΊΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΡΠ΅ ΠΊΠ°ΠΊΠ²ΠΈ Π΄ΡΡΠ³ΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ ΡΠ΅ ΠΊΡΠΈΡΡ Π·Π°Π΄ ΡΡΡΠΈΡ IP Π°Π΄ΡΠ΅Ρ, ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ Π΅Π΄ΠΈΠ½ ΠΎΡ ΡΡΡ
ΠΈ Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΠ΅ Π΄ΠΎΡΡΡΠΏΡΡ Π½Π΅ Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π½:
ΠΠΎ ΠΊΠ°ΠΊ ΡΡΠ°Π²Π°? ΠΠ°ΠΊ DPI Π½Π° Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° Π·Π½Π°Π΅ ΠΊΡΠΌ ΠΊΠΎΠΉ Π΄ΠΎΠΌΠ΅ΠΉΠ½ ΠΎΡΠΈΠ²Π° Π±ΡΠ°ΡΠ·ΡΡΡΡ ΠΌΠΈ, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π²ΡΠΈΡΠΊΠΈ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ ΠΏΠΎ https ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΈ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠΌΠ΅ Π·Π°Π±Π΅Π»ΡΠ·Π°Π»ΠΈ ΠΏΠΎΠ΄ΠΌΡΠ½Π° Π½Π° https ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ ΠΎΡ beeline? Π―ΡΠ½ΠΎΠ²ΠΈΠ΄Π΅Ρ Π»ΠΈ Π΅, ΠΈΠ»ΠΈ ΠΌΠ΅ ΡΠ»Π΅Π΄ΡΡ?
ΠΠ΅ΠΊΠ° ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΠΌΠ΅ Π΄Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈΠΌ Π½Π° ΡΠΎΠ·ΠΈ Π²ΡΠΏΡΠΎΡ, ΠΊΠ°ΡΠΎ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΡΡΠ°ΡΠΈΠΊΠ° ΠΏΡΠ΅Π· wireshark
ΠΠΊΡΠ°Π½Π½Π°ΡΠ° ΡΠ½ΠΈΠΌΠΊΠ° ΠΏΠΎΠΊΠ°Π·Π²Π°, ΡΠ΅ ΠΏΡΡΠ²ΠΎ Π±ΡΠ°ΡΠ·ΡΡΡΡ ΠΏΠΎΠ»ΡΡΠ°Π²Π° IP Π°Π΄ΡΠ΅ΡΠ° Π½Π° ΡΡΡΠ²ΡΡΠ° ΡΡΠ΅Π· DNS, ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΈΠΌΠ° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎ TCP ΡΡΠΊΠΎΡΡΠΈΡΠΊΠ°Π½Π΅ Ρ ΡΠ΅Π»Π΅Π²ΠΈΡ ΡΡΡΠ²ΡΡ ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π±ΡΠ°ΡΠ·ΡΡΡΡ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π° Π΄Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΈ ssl Π²ΡΡΠ·ΠΊΠ° ΡΡΡ ΡΡΡΠ²ΡΡΠ°. ΠΠ° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈ ΡΠΎΠ²Π°, ΡΠΎΠΉ ΠΈΠ·ΠΏΡΠ°ΡΠ° SSL Client Hello ΠΏΠ°ΠΊΠ΅Ρ, ΠΊΠΎΠΉΡΠΎ ΡΡΠ΄ΡΡΠΆΠ° ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΈΠ·Ρ
ΠΎΠ΄Π½ΠΈΡ Π΄ΠΎΠΌΠ΅ΠΉΠ½ Π² ΡΠΈΡΡ ΡΠ΅ΠΊΡΡ. Π’ΠΎΠ²Π° ΠΏΠΎΠ»Π΅ ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΎΡ ΠΏΡΠ΅Π΄Π½ΠΈΡ ΡΡΡΠ²ΡΡ Π½Π° cloudflare, Π·Π° Π΄Π° Π½Π°ΡΠΎΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ Π²ΡΡΠ·ΠΊΠ°ΡΠ°. Π’ΠΎΠ²Π° Π΅ ΠΌΡΡΡΠΎΡΠΎ, ΠΊΡΠ΄Π΅ΡΠΎ DPI Π½Π° Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° Π½ΠΈ Ρ
Π²Π°ΡΠ°, ΠΏΡΠ΅ΠΊΡΡΠ²Π°ΠΉΠΊΠΈ Π²ΡΡΠ·ΠΊΠ°ΡΠ° Π½ΠΈ. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ ΠΌΡΠ½ΠΈΡΠ΅ ΠΎΡ Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° ΠΈ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π° Π³ΡΠ΅ΡΠΊΠ° Π² Π±ΡΠ°ΡΠ·ΡΡΠ°, ΡΡΠΊΠ°Ρ ΡΠ°ΠΉΡΡΡ Π΅ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠΈ:
Π‘Π΅Π³Π° Π½Π΅ΠΊΠ° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΠΌΠ΅ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ° eSNI Π² Π±ΡΠ°ΡΠ·ΡΡΠ°, ΠΊΠ°ΠΊΡΠΎ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π² ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΡΠ΅ Π·Π°
ΠΠ° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠΎΠ²Π°, ΠΎΡΠ²Π°ΡΡΠΌΠ΅ ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° Firefox Π·Π°: Π΄ΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠΊ ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΠΉΡΠ΅ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ:
network.trr.mode = 2;
network.trr.uri = https://mozilla.cloudflare-dns.com/dns-query
network.security.esni.enabled = true
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° ΡΠ΅Π±ΡΠ°ΠΉΡΠ° Π½Π° cloudflare ΠΎΡ
ΠΠΎΡΠΎΠ²ΠΎ. ΠΡΠ±ΠΈΠΌΠΈΡΡ Π½ΠΈ ΡΡΠ°ΠΊΠ΅Ρ ΡΠ΅ ΠΎΡΠ²ΠΎΡΠΈ Π±Π΅Π· VPN ΠΈΠ»ΠΈ ΠΏΡΠΎΠΊΡΠΈ ΡΡΡΠ²ΡΡΠΈ. ΠΠ΅ΠΊΠ° ΡΠ΅Π³Π° Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π΄ΡΠΌΠΏΠ° Π½Π° ΡΡΠ°ΡΠΈΠΊΠ° Π² wireshark, ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΠ»ΡΡΠΈ.
Π’ΠΎΠ·ΠΈ ΠΏΡΡ ΠΏΠ°ΠΊΠ΅ΡΡΡ Π·Π° Π·Π΄ΡΠ°Π²Π΅ΠΉ Π½Π° ssl ΠΊΠ»ΠΈΠ΅Π½Ρ Π½Π΅ ΡΡΠ΄ΡΡΠΆΠ° ΠΈΠ·ΡΠΈΡΠ½ΠΎ ΡΠ΅Π»Π΅Π²ΠΈΡ Π΄ΠΎΠΌΠ΅ΠΉΠ½, Π½ΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ²Π° Π² ΠΏΠ°ΠΊΠ΅ΡΠ° ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ Π½ΠΎΠ²ΠΎ ΠΏΠΎΠ»Π΅ - encrypted_server_name - ΡΡΠΊ ΡΠ΅ ΡΡΠ΄ΡΡΠΆΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° rutracker.nl ΠΈ ΡΠ°ΠΌΠΎ ΠΏΡΠ΅Π΄Π½ΠΈΡΡ ΡΡΡΠ²ΡΡ Π½Π° cloudflare ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄Π΅ΡΠΈΡΡΠΈΡΠ° ΡΠΎΠ²Π° ΠΏΠΎΠ»Π΅. Π Π°ΠΊΠΎ Π΅ ΡΠ°ΠΊΠ°, ΡΠΎΠ³Π°Π²Π° Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΊΡΡ Π½Π° DPI Π½ΡΠΌΠ° Π΄ΡΡΠ³ ΠΈΠ·Π±ΠΎΡ, ΠΎΡΠ²Π΅Π½ Π΄Π° ΡΠΈ ΠΈΠ·ΠΌΠΈΠ΅ ΡΡΡΠ΅ΡΠ΅ ΠΈ Π΄Π° ΡΠ°Π·ΡΠ΅ΡΠΈ ΡΠ°ΠΊΡΠ² ΡΡΠ°ΡΠΈΠΊ. Π Π½ΡΠΌΠ° Π΄ΡΡΠ³ΠΈ ΠΎΠΏΡΠΈΠΈ Ρ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅.
Π ΡΠ°ΠΊΠ°, Π²ΠΈΠ΄ΡΡ ΠΌΠ΅ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° Π² Π±ΡΠ°ΡΠ·ΡΡΠ°. Π‘Π΅Π³Π° Π½Π΅ΠΊΠ° ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΠΌΠ΅ Π΄Π° Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠΌ ΠΊΡΠΌ ΠΏΠΎ-ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ Π½Π΅ΡΠ°. Π ΠΊΠ°ΡΠΎ Π½Π°ΡΠ°Π»ΠΎ ΡΠ΅ Π½Π°ΡΡΠΈΠΌ ΡΡΡΠΈΡ curl Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° eSNI Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ TLS 1.3 ΠΈ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΠ΅ Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ ΡΠ°ΠΌΠΈΡΡ eSNI-Π±Π°Π·ΠΈΡΠ°Π½ fronting Π΄ΠΎΠΌΠ΅ΠΉΠ½.
Π€ΡΠΎΠ½ΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½ Ρ eSNI
Π‘ ΠΎΠ³Π»Π΅Π΄ Π½Π° ΡΠ°ΠΊΡΠ°, ΡΠ΅ curl ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° openssl Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΡΡΠ΅Π· https ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°, ΠΏΡΡΠ²ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΡΠΈΠ³ΡΡΠΈΠΌ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° eSNI ΡΠ°ΠΌ. ΠΡΠ΅ ΠΎΡΠ΅ Π½ΡΠΌΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° eSNI Π² Π³Π»Π°Π²Π½ΠΈΡΠ΅ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ Π½Π° openssl, ΡΠ°ΠΊΠ° ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·ΡΠ΅Π³Π»ΠΈΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»Π΅Π½ ΠΊΠ»ΠΎΠ½ Π½Π° 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/) ΠΈ Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΠΈΡΠ΅, ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ ΠΏΡΠΎΡΠΈΡΠ° Π±Π΅Π· Π³ΡΠ΅ΡΠΊΠΈ.
Π ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΡΡΠΏΠ΅ΡΠ½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, ΡΠ΅ Π²ΠΈΠ΄ΠΈΠΌ ΡΠ΅Π΄Π°:
ΠΠ ΠΠΠ£ΠΠ ΠΠΠΠΠΠΠ: esni ESNI Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½, Π½ΠΎ Π΅ ΠΌΠ°ΡΠΊΠΈΡΠ°Π½ ΠΊΠ°ΡΠΎ ΠΠΠ‘ΠΠΠ ΠΠΠΠΠ’ΠΠΠΠ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ Ρ ΠΏΠΎΠ²ΠΈΡΠ΅Π½ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!
$ 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, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΠΎΡΠΎΡΠΈΠΌ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ ΡΠ΅Π΄ (Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ -
Π’ΠΎΠ²Π° ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΎ 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 ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ ΠΎΡ ΡΡΡ
ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π΄Π° ΡΠ΅Π»Π΅Π²ΠΈΡΡ ΡΡΡΠ²ΡΡ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΊΡΠΈΠ΅ Π·Π°Π΄ Π΄ΠΎΠΌΠ΅ΠΉΠ½Π°
Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ 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 Moved 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, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΡΠ΅Π·ΠΎΠ»Π²Π΅ΡΠ° dns.google DoH (ΡΡΠΊ Π½ΡΠΌΠ° ΠΏΡΠ°Π²ΠΎΠΏΠΈΡΠ½Π° Π³ΡΠ΅ΡΠΊΠ°, ΡΠ΅Π³Π° ΠΈΠ·Π²Π΅ΡΡΠ½Π°ΡΠ° ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΡ ΠΈΠΌΠ° ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½ Π΄ΠΎΠΌΠ΅ΠΉΠ½ ΠΎΡ ΠΏΡΡΠ²ΠΎ Π½ΠΈΠ²ΠΎ) ΠΈ ΡΠ΅ ΠΏΠΎΠΊΡΠΈΡ
ΠΌΠ΅ Ρ Π΄ΡΡΠ³ Π΄ΠΎΠΌΠ΅ΠΉΠ½, ΠΊΠΎΠΉΡΠΎ Π΅ ΡΡΡΠΎΠ³ΠΎ Π·Π°Π±ΡΠ°Π½Π΅Π½ΠΎ Π΄Π° Π±ΡΠ΄Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π½ ΠΎΡ Π²ΡΠΈΡΠΊΠΈ DPI ΠΏΠΎΠ΄ ΡΡΡΠ°Ρ
ΠΎΡ ΡΠΌΡΡΡ. ΠΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠ³ΠΎΠ²ΠΎΡ ΡΠ°Π·Π±ΠΈΡΠ°ΠΌΠ΅, ΡΠ΅ Π·Π°ΡΠ²ΠΊΠ°ΡΠ° Π½ΠΈ Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ.
ΠΠ°ΡΠΎ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π΄Π°Π»ΠΈ DPI Π½Π° Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π½Π° ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈΡ SNI, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄Π°Π²Π°ΠΌΠ΅ ΠΊΠ°ΡΠΎ ΠΏΡΠΈΠΊΡΠΈΡΠΈΠ΅, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡΠΏΡΠ°Π²ΠΈΠΌ Π·Π°ΡΠ²ΠΊΠ° ΠΊΡΠΌ rutracker.nl Π·Π°Π΄ Π½ΡΠΊΠΎΠΉ Π΄ΡΡΠ³ Π·Π°Π±ΡΠ°Π½Π΅Π½ ΡΠ΅ΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄ΡΡΠ³ βΠ΄ΠΎΠ±ΡΡβ ΡΠΎΡΠ΅Π½Ρ ΡΡΠ°ΠΊΠ΅Ρ:
$ ESNI_COVER="rutor.info" DOH_URL=https://dns.google/dns-query ./curl-esni https://rutracker.nl/
ΠΡΠΌΠ° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΎΡΠ³ΠΎΠ²ΠΎΡ ΠΎΡ ΡΡΡΠ²ΡΡΠ°, Ρ.ΠΊ Π½Π°ΡΠ°ΡΠ° Π·Π°ΡΠ²ΠΊΠ° ΡΠ΅ Π±ΡΠ΄Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π° ΠΎΡ DPI ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°.
ΠΠ°Π»ΠΊΠΎ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΡΠΌ ΠΏΡΡΠ²Π°ΡΠ° ΡΠ°ΡΡ
Π ΡΠ°ΠΊΠ°, ΡΡΠΏΡΡ
ΠΌΠ΅ Π΄Π° Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠ°ΠΌΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° eSNI Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° openssl ΠΈ curl ΠΈ Π΄Π° ΡΠ΅ΡΡΠ²Π°ΠΌΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° eSNI-Π±Π°Π·ΠΈΡΠ°Π½ ΡΡΠΎΠ½ΡΠΈΠ½Π³ Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½. ΠΠΎ ΡΡΡΠΈΡ Π½Π°ΡΠΈΠ½ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π°Π΄Π°ΠΏΡΠΈΡΠ°ΠΌΠ΅ Π½Π°ΡΠΈΡΠ΅ Π»ΡΠ±ΠΈΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° openssl, Π·Π° Π΄Π° ΡΠ°Π±ΠΎΡΡΡ βΠΏΠΎΠ΄ ΠΏΡΠΈΠΊΡΠΈΡΠΈΠ΅ΡΠΎβ Π½Π° Π΄ΡΡΠ³ΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ. ΠΠΎΠ²Π΅ΡΠ΅ Π·Π° ΡΠΎΠ²Π° Π² ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡΠ΅ Π½ΠΈ ΡΡΠ°ΡΠΈΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com