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

Π‘ΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΠ΅ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ ΠΊΠ°ΡΠΎ 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 ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° openssl Π·Π° https Π²ΡΡΠ·ΠΊΠΈ, ΠΏΡΡΠ²ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΡΠΈΠ³ΡΡΠΈΠΌ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° eSNI ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΌ. Π master ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ΡΠ΅ Π½Π° 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 ΠΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½ΠΎ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ
< Date: ΠΠ΅Π΄, 03 ΠΠΎΠ΅ 2019 14:10:22 GMT
< Content-Type: text/html
< Transfer-Encoding: chunked
< Connection: keep-alive
< Set-Cookie: __cfduid=da0144d982437e77b0b37af7d00438b1a1572790222; expires=ΠΠ½, 02-ΠΠΎΠ΅-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/ΠΠ΅ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΎΡΠ³ΠΎΠ²ΠΎΡ ΠΎΡ ΡΡΡΠ²ΡΡΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π½Π°ΡΠ΅ΡΠΎ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ ΡΠ΅ Π±ΡΠ΄Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π½ΠΎ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π½Π° DPI.
ΠΡΠΊΠΎΠ»ΠΊΠΎ Π·Π°ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΈ Π΄ΡΠΌΠΈ ΠΊΡΠΌ ΠΏΡΡΠ²Π°ΡΠ° ΡΠ°ΡΡ
Π’Π°ΠΊΠ°, ΡΡΠΏΡΡ ΠΌΠ΅ Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΠ° Π½Π° eSNI Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° openssl ΠΈ curl ΠΈ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½Π°-ΡΡΠΎΠ½ΡΠΈΠ½Π³, ΠΎΡΠ½ΠΎΠ²Π°Π²Π°Ρ ΡΠ΅ Π½Π° eSNI. ΠΠΎ ΡΡΡΠΈΡ Π½Π°ΡΠΈΠ½ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π°Π΄Π°ΠΏΡΠΈΡΠ°ΠΌΠ΅ Π»ΡΠ±ΠΈΠΌΠΈΡΠ΅ ΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° openssl, Π·Π° ΡΠ°Π±ΠΎΡΠ° "ΠΏΠΎΠ΄ ΠΏΡΠΈΠΊΡΠΈΡΠΈΠ΅" Π½Π° Π΄ΡΡΠ³ΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ. ΠΠΎΠ²Π΅ΡΠ΅ Π·Π° ΡΠΎΠ²Π° - Π² Π½Π°ΡΠΈΡΠ΅ ΡΠ»Π΅Π΄Π²Π°ΡΠΈ ΡΡΠ°ΡΠΈΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
