áááá«ááºáž
Ciscoá BlueCoatá FireEye áá²á·ááá¯á·áá±á¬ áá»á±á¬áºááŒá¬ážáá±á¬ áá¯ááºáá¯ááºáá°áá»á¬ážáá¶á០áá±ááºáá®áá±á¬áºááá¯ááááºá¡ááŒá±á¬ááºážá¡áᬠá
á
áºáá¯ááºááŒááºážá
áá
áºáá»á¬ážááẠááá¯ááºáá¶áá±á¬áºá¡ááá·áºááœáẠáááºááŒáœá
áœá¬ á¡áá±á¬ááºá¡áááºáá±á¬áºáá»ááºááŸáááá·áº áááºážááá¯á·á ááá¯ááá¯á¡á¬ážáá±á¬ááºážáá±á¬ ááááºáááºáá»á¬áž - DPI á
áá
áºáá»á¬ážááŸáá·áº áá»á¬ážá
áœá¬áá°áá®áá«áááºá ááŸá
áºáá¯áá¯á¶ážáá¡áá¯ááºá á¡ááŸá
áºáá¬áááŸá¬ á¡áááºá¡ááœááºá¡ááºáá¬áááºá¡ááœá¬ážá¡áá¬áá»á¬ážááᯠá
á
áºáá±ážáááºááŸáá·áº á¡ááŒá°/á¡áááºážá
á¬áááºážáá»á¬ážááᯠá¡ááŒá±áá¶á á¡ááºáá¬áááºáá»áááºáááºááŸá¯ááᯠááááºáááºááẠáá¯á¶ážááŒááºáá»ááºáá»áááºááŒá
áºáááºá áááºážááá¯á·ááŸá
áºáŠážá
áá¯á¶ážááẠáááºážááá¯á·áá¡áá¯ááºáá¡ááŒá±áá¶áá»á¬ážááœáẠá¡áá¬ážáá°áá°áá»á¬ážááᯠá¡á¬ážááá¯ážáá±á¬ááŒá±á¬áá·áºá áááºážááá¯á·ááá¯áá»á±á¬áºááœáŸá¬ážáááºáááºážáááºážáá»á¬ážááẠáá°áá®ááŸá¯áá»á¬ážáááºážááŸááááºááŒá
áºáááºá
DPI ááŸáá·áº áá±á¬áºááá¯ááááºá áá ẠááŸá áºáá¯áá¯á¶ážááᯠáááááá±á¬ááºáá±á¬áẠáá»á±á¬áºááŒááºááá¯ááºá á±ááá·áº áááºážááá¬áá»á¬ážáá²á០áá áºáá¯ááŸá¬ domain-fronting áááºážááá¬ááŒá áºáááºá áááºážáá¡ááŸá áºáá¬áááŸá¬ áá»áœááºá¯ááºááá¯á·ááẠááááºááá¯á·áá¬ážáá±á¬ á¡áááºážá¡ááŒá áºáá áºáá¯ááá¯á· ááœá¬ážá áá¬áááºáá±á¬ááºážááŸááá±á¬ á¡ááŒá¬ážá¡áá»á¬ážááŒááºáá°ááá¯ááºááá¯ááááºážáá±á¬ááºááœááºááœáẠáá¯ááºážá¡á±á¬ááºážáá±ááŒááºážááŒá áºáááºá á¥ááá¬á áááºááá·áºá áá áºáá០ááááºááá¯á·áá¬ážáááºááá¯ááºááŒá±á¬ááºáž áááá¬áááºááŸá¬ážáá±á¬ google.comá
áá®áááºážááá¬á¡ááŒá±á¬ááºáž áá±á¬ááºážáá«ážááœá± á¡áá»á¬ážááŒá®ážáá±ážááŒá®ážááŒá®á á¥ááá¬ááœá± á¡áá»á¬ážááŒá®ážáá±ážáá²á·ááŒá®ážááŒá®á ááá¯á·áá±á¬áºá áá°ááŒáá¯ááºáá»á¬ážááŒá®áž áááŒá¬áá±ážáá®á ááœá±ážááœá±ážáá¬ážáá±á¬ DNS-over-HTTPS ááŸáá·áº áá¯ááºáá±ážáá¬ážáá±á¬-SNI áááºážááá¬áá»á¬ážá¡ááŒáẠTLS 1.3 áááá¯ááá¯áá±á¬á áá¬ážááŸááºážá¡áá
áºááẠdomain fronting á¡ááœáẠá¡ááŒá¬ážááœá±ážáá»ááºá
áá¬áá»á¬ážááᯠá
ááºážá
á¬ážááá¯ááºá
á±áá«áááºá
áááºážááá¬ááá¯áá¬ážáááºááŒááºážá
áŠážá áœá¬á á€á¡áá¬á¡á¬ážáá¯á¶ážááᯠáááºáá°áááºáá«ááŒá áºáááºááᯠáá°ááá¯ááºážáá¬ážáááºááá±á¬áá±á«ááºááá¯ááºááẠá¡ááŒá±áá¶ááá±á¬ááá¬ážá¡áááºážáááºááᯠáááºááŸááºááŒáá«á áá¯á·á áááºáááºááœá±ážááœá±ážááá·áº áá¯ááºáááºážáá±á¬ááºááœááºááŸá¯ eSNI ááá¹ááá¬ážá¡á¬áž áá»áœááºá¯ááºááá¯á·áá±á¬áºááŒáá¬ážáá«áááºá eSNI (áá¯ááºááŸááºáá¬ážáá±á¬ áá¬áá¬á¡ááẠááœáŸááºááŒáá»ááº) ááá¹ááá¬ážááẠTLS 1.3 áááá¯ááá¯áá±á¬á¡ááœááºáᬠáááŸáááá¯ááºáá±á¬ SNI á áá¯á¶ááŒá¯á¶áá±á¬áá¬ážááŸááºážááŒá áºáááºá á¡ááá á¡áá¯ááºáá®áá¬ááŸá¬ áá±á¬ááºážááá¯áá»áẠáá±ážááá¯á·ááá·áº ááá¯ááááºážááŸáá·áº áááºáááºááá·áº á¡ááŒá¬ážá¡áá¬áá»á¬áž á¡áá«á¡ááẠá¡áá»ááºá¡áááºáá»á¬áž ááᯠá á¬ááŸááºááẠááŒá áºáááºá
ááᯠeSNI ááá¹ááá¬ážááẠáááºááœá±á·ááœáẠáááºááá¯á·á¡áá¯ááºáá¯ááºáááºááᯠááŒáá·áºááŒáá«á áá¯á·á
áá±ááºáá® DPI ááŒá±ááŸááºážáá»ááºááŒáá·áº ááááºááá¯á·áá¬ážáá±á¬ á¡ááºáá¬ááẠá¡áááºážá¡ááŒá áºáá áºáá¯ááŸáááẠ(á¥ááá¬á áá¬áááºááŒá®áž torrent tracker rutracker.nl) ááᯠááŒáá·áºááŒáá«á áá¯á·á torrent tracker ááááºááá¯ááºááᯠáááºáá±á¬ááºááẠááŒáá¯ážá á¬ážáá±á¬á¡áá«á á¡áááºážá¡ááŒá áºááᯠááááºááá¯á·áá¬ážááŒá±á¬ááºáž áá±á¬áºááŒááá·áº áá¶á·ááá¯ážáá±ážáá°á á á¶ááá°áá¬ááᯠáá»áœááºá¯ááºááá¯á· ááœá±á·ááááº-
RKN áááºááá¯ááºááœáẠá€ááá¯ááááºážááᯠá¡ááŸááºáááẠáááºááá·áºá
á¬áááºážáá»á¬ážááœáẠáá±á¬áºááŒáá¬ážáá«áááºá
whois ááᯠáááºáá±ážááŒááºážáá±á¬á¡áá«á domain ááá¯ááºááá¯ááºá cloud áá¶á·ááá¯ážáá±ážáá° Cloudflare áá±á¬ááºááœááºááœáẠ"ááŸááºáá¬ážáááº" ááᯠááœá±á·ááá¯ááºáááºá
ááá¯á·áá±á¬áº RKN á០"áá»áœááºážáá»ááºááá¬ááŸááºáá»á¬áž" ááŸáá·áºááá°áá²á Beeline á០áááºážááá¬ááá¯ááºážáá»áœááºážáá»ááºáá±á¬ áááºáááºážáá»á¬ážááẠ(ááá¯á·ááá¯áẠáá»áœááºá¯ááºááá¯á·ááá»á±á¬áºááŒá¬ážáá±á¬ á
ááºážáááºážááááºážááááºážáá±ážá áá«ážáá®ážáá±á¬á¡ááœá±á·á¡ááŒá¯á¶ááŒáá·áº áááºááŒá¬ážáá±ážáááº) ááẠááá¯ááºááᯠIP ááááºá
á¬ááŒáá·áº ááá¯ááºáá²á
áœá¬áá¬ážááŒá
áºááŒááºážáááŒá¯áá² ááá¯ááááºážá¡áááºááᯠáááºááá·áºá
á¬áááºážááœáẠááá·áºááœááºážáá²á·áááºá áá°áá®áá±á¬ IP ááááºá
á¬ááá±á¬ááºááœááºááœáẠááŸááºáá¬ážáá±á¬ á¡ááŒá¬ážááá¯ááááºážáá»á¬ážááᯠááŒáá·áºááŸá¯áá«á áááºážááá¯á·á¡áááºá០áá
áºáá¯ááᯠáááºáá±á¬ááºááŒáá·áºááŸá¯ááŒá®áž áááºáá±á¬ááºááœáá·áºááᯠááááºáááºáá¬ážááŒááºážáááŸáááŒá±á¬ááºážááᯠá¡ááœááºááá° á¡áááºááŒá¯ááá¯ááºáááº-
áá«á áááºááá¯ááŒá
áºáá¬áá²á áááºááœááºáá±ážá¡á¬ážáá¯á¶áž https protocol ááŸáááá·áºááŒá
áºáá±á«áºááŒá®áž Beeline á០https áááºááŸááºáá»á¬ážááᯠá¡á
á¬ážááá¯ážááŒááºážá¡á¬áž áá»áœááºá¯ááºááá¯á· ááááááŒá¯áááá±ážáá±á¬ááŒá±á¬áá·áº áááºáá±á¬ááºááŸá¯áá±ážáá°á DPI ááẠáá»áœááºá¯ááºáááá±á¬ááºáá¬ááœáẠáááºááá·áºááá¯ááááºážááá¯ááœáá·áºáá¬ážááŒá±á¬ááºáž áááºááá¯á·ááááŸáááá¯ááºááááºážá áá°ááẠá¡ááŒááºá¡á¬áá¯á¶ááŸááá°áá¬ážá áá«ááŸááá¯áẠáá«áá±á¬ááºááá¯ááºáá±áá¬áá¬ážá
wireshark ááŸáááá·áºá¡ááœá¬ážá¡áá¬ááá¯ááŒáá·áºááŸá¯ááŒááºážááŒáá·áºá€áá±ážááœááºážááá¯ááŒá±ááá¯ááŒáá«á áá¯á·
ááááŠážá
áœá¬ ááá±á¬ááºáá¬ááẠDNS ááŸáá
áºááá·áº áá¬áá¬á IP ááááºá
á¬ááᯠááá°áá²á·ááŒá±á¬ááºážá ááá¯á·áá±á¬áẠáá¯á¶ááŸáẠTCP áááºááœá²ááŸá¯ááºáááºááŸá¯ááẠáŠážáááºáá¬áá¬áá¬ááŸáá·áº ááŒá
áºáá±á«áºááŒá®ážáá±á¬áẠááá±á¬ááºáá¬ááẠáá¬áá¬ááŸáá·áº SSL áá»áááºáááºááŸá¯áá
áºáá¯ááᯠáá°áá±á¬ááºááẠááŒáá¯ážá
á¬ážáá±ááŒá±á¬ááºáž áááºáá¬ážááŒááºááœáẠááŒááá¬ážáááºá áááºážááá¯áá¯ááºáá±á¬ááºáááºá áááºážááẠááŸááºážáááºážáá±á¬á
á¬áá¬ážááŒáá·áºá¡áááºážá¡ááŒá
áºááá¯ááááºážá¡áááºáá«ááŸááá±á¬ SSL Client Hello áááºáááºááᯠáá±ážááá¯á·áááºá áá»áááºáááºááŸá¯ááᯠááŸááºáááºá
áœá¬ áááºážááŒá±á¬ááºážáá±ážááá¯ááºááẠá€á¡ááœááºááᯠcloudflare ááŸá±á·áááºážáá¬áá¬á០ááá¯á¡ááºáá«áááºá á€áá±áá¬ááœáẠáááºáá±á¬ááºááŸá¯áá±ážáá° DPI á áá»áœááºá¯ááºááá¯á·ááᯠáááºážáá°ááá¯ááºááŒá®áž áá»áœááºá¯ááºááá¯á·ááá»áááºáááºááŸá¯ááᯠááŒááºáá±á¬ááºááá¯ááºáááºá áá
áºáá»áááºáááºážááŸá¬áááºá áá»áœááºá¯ááºááá¯á·ááẠáá¶á·ááá¯ážáá±ážáá°áá¶á០áááºááá·áºáá¯ááºáááá¯áá»áŸ áááºáá¶áááŸáááŒááºážáááŸáááá·áºá¡ááŒáẠááá¯ááºá¡á¬áž ááááºáá¬ážááẠááá¯á·ááá¯áẠááá¯ážááŸááºážá
áœá¬ á¡áá¯ááºááá¯ááºááá²á·ááá¯á· á
á¶ááá±á¬ááºáá¬á¡ááŸá¬ážááᯠáá»áœááºá¯ááºááá¯á·ááœá±á·ááŒááºáá±ááááº-
ááᯠáááºážááœáŸááºáá»ááºáá»á¬ážááœáẠáá±ážáá¬ážááá·áºá¡ááá¯ááºáž ááá±á¬ááºáá¬ááœáẠeSNI ááá¹ááá¬ážááᯠááœáá·áºááŒáá·áºáá¡á±á¬ááº
áá«ááá¯áá¯ááºááá¯á· Firefox configuration page ááá¯ááœáá·áºáá«á about: config ááᯠááŒá®ážáá»áŸáẠá¡á±á¬ááºáá«áááºáááºáá»á¬ážááᯠá¡áááºááœááºážáá«á
network.trr.mode = 2;
network.trr.uri = https://mozilla.cloudflare-dns.com/dns-query
network.security.esni.enabled = true
áááºážááŒá®ážáá±á¬ááºá cloudflare áááºááá¯ááºááœáẠáááºáááºáá»á¬áž ááŸááºáááºááŒá±á¬ááºáž á
á
áºáá±ážáá«áááºá
áá² áá«ááá¯áááºáá±á¬á·á áá»áœááºá¯ááºááá¯á·áá¡ááŒáá¯ááºáá¯á¶áž ááŒá±áá¬áá¶áááááá¬ááᯠVPN ááá¯á·ááá¯áẠááá±á¬ááºá
á®áá¬áá¬áá»á¬ážááá«áá² ááœáá·áºáá¬ážáááºá á¡áá¯ááŒá
áºáá»ááºáá²á·áá¬ááá¯ááŒáá·áºááá¯á· wireshark ááŸá¬ááŸááá²á· traffic dump ááá¯ááŒáá·áºááá¯ááºáá¡á±á¬ááºá
ááá¯áá
áºááŒáááºá ssl client hello áááºáá±á·áá»áºááœáẠáŠážáááºáá¬ááá¯ááááºáž ááá«áááºáá±á¬áºáááºážá áááºážá¡á
á¬áž á¡ááœááºá¡áá
áºáá
áºáá¯áá±á«áºáá¬ááẠ- encrypted_server_name - á€áááºááŸá¬ rutracker.nl ááááºááá¯ážáá«ááŸááá¬á cloudflare ááŸá±á·áááºážáá¬áá¬ááŸáá¬áá»áŸáẠáááºážááᯠá
á¬ááŸááºááá¯ááºááẠáááºááœááºážá ááá¯á·ááá¯áá»áŸááºá áááºáá±á¬ááºááŸá¯áá±ážáá° DPI ááẠáááºážááááºáá»á¬ážááᯠáá±ážááŒá±á¬áááºááŸáá·áº ááá¯ááá¯á·áá±á¬áááºážááŒá±á¬ááºážáá»á¬ážááᯠááœáá·áºááŒá¯áááºááŸááœá²á ááœá±ážáá»ááºá
áá¬áááŸááá±á¬á·áá«á á
á¬ááŸááºá
áá
áºááŒáá·áº á¡ááŒá¬ážááœá±ážáá»ááºá
áá¬áá»á¬áž áááŸááá«á
áá«ááŒá±á¬áá·áº ááá±á¬ááºáá¬ááŸá¬ áááºážááᬠáááºááá¯á¡áá¯ááºáá¯ááºááá²ááá¯áá¬ááᯠááŒáá·áºáá«á ááᯠáááºážááᯠááá¯ááá¯áááá»ááŒá®áž á áááºáááºá á¬ážá áá¬áá±á¬ááºážáá±á¬ á¡áá¬áá»á¬ážááœáẠá¡áá¯á¶ážáá»ááẠááŒáá¯ážá á¬ážááŒáá«á áá¯á·á ááááŠážá áœá¬á áá»áœááºá¯ááºááá¯á·ááẠTLS 1.3 ááŸáá·áºá¡áá¯ááºáá¯ááºááẠeSNI ááá¯á¡áá¯á¶ážááŒá¯áááºáá°áá®áá±á¬ curl ááá¯áááºáá±ážáááºááŒá áºááŒá®áž áá áºáá»áááºáááºážááœáẠeSNI-based domain fronting ááá¯ááºááá¯ááºáááºááá¯á·á¡áá¯ááºáá¯ááºáááºááá¯ááœá±á·ááá«áááºá
eSNI ááŒáá·áº ááá¯ááááºážááᯠáá»ááºááŸá¬áá°áá¬ážáááºá
curl ááẠhttps protocol ááŸáááá·áºáá»áááºáááºááẠstandard openssl á á¬ááŒáá·áºááá¯ááºááá¯á¡áá¯á¶ážááŒá¯áá±á¬ááŒá±á¬áá·áºá ááááá¯á¶ážá¡áá±ááŒáá·áº áá»áœááºá¯ááºááá¯á·ááẠááá¯áá±áá¬ááœáẠeSNI áá¶á·ááá¯ážááŸá¯áá±ážáááºááá¯á¡ááºáá«áááºá openssl áá¬á áá¬á¡ááá¯ááºážá¡áááºáá»á¬ážááœáẠeSNI áá¶á·ááá¯ážááŸá¯áááŸááá±ážáá±á¬ááŒá±á¬áá·áº á¡áá°áž openssl áá¬áááœá²ááᯠáá±á«ááºážáá¯ááºáá¯ááºáᬠá á¯á ááºážááŒá®áž ááá·áºááœááºážááẠááá¯á¡ááºáá«áááºá
áá»áœááºá¯ááºááá¯á·ááẠGitHub á០repository ááá¯ááœá¬ážááŒá®áž áá¯á¶ááŸááºá¡ááá¯ááºáž compile áá¯ááºáá«á
$ git clone https://github.com/sftcd/openssl
$ cd openssl
$ ./config
$ make
$ cd esnistuff
$ make
ááá¯á·áá±á¬ááºá áá»áœááºá¯ááºááá¯á·ááẠáá»áœááºá¯ááºááá¯á·áá á¯á ááºážáá¬ážáá±á¬ openssl á á¬ááŒáá·áºááá¯ááºááᯠá¡áá¯á¶ážááŒá¯á ááá¯ááŸá±á¬ááºáá¬ááᯠcurl ááŒáá·áºááœá¬ážááŒá®áž áááºážáá á¯á ááºážááŸá¯ááᯠconfigure áá¯ááºáááº-
$ 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
á¡áá¯ááºááᯠá¡á±á¬ááºááŒááºá áœá¬áááºáá±á¬ááºááŒá®ážáá±á¬ááºá curl ááᯠconfigure áá¯ááºááŒá®áž run áááºá¡ááœáẠopenssl á០á¡áá°áž bash ááá¯ááºááᯠá¡áá¯á¶ážááŒá¯áá«áááºá á¡áááºááŒá±á á±ááẠcurl ááŒáá·áº directory ááá¯á·áá°ážáá°ááŒáá«á áá¯á·á
cp /opt/openssl/esnistuff/curl-esni
Wireshark ááœáẠDNS ááŸáá·áº TLS áááºáá±á·áá»áºáá»á¬ážááᯠáááŒáá¯ááºáááºááŸááºáááºážáááºáá±á áẠcloudflare áá¬áá¬áᶠá ááºážáááºááŸá¯ https áá±á¬ááºážááá¯ááŸá¯ááᯠááŒá¯áá¯ááºáá«á
$ ESNI_COVER="www.hello-rkn.ru" ./curl-esni https://cloudflare.com/
áá¬áá¬áá¯á¶á·ááŒááºááŸá¯ááœááºá openssl ááŸáá·áº curl ááá¯á·á០á¡ááŸá¬ážááŸá¬ááŒááºááŒááºážááá¯ááºáᬠá¡áá»ááºá¡áááºáá»á¬ážá áœá¬á¡ááŒáẠcloudflare á០code 301 ááŒáá·áº HTTP áá¯á¶á·ááŒááºááŸá¯ááᯠáá»áœááºá¯ááºááá¯á· áááºáá¶áááŸááááºááŒá áºáááºá
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 ááŸá¬ááŸááá²á· traffic dump ááá¯ááŒáá·áºáá¡á±á¬ááºá i.e. á€ááá á¹á ááœáẠáááºáá±á¬ááºááŸá¯áá±ážáá° DPI á áá¬ááá¯ááŒááºáá²á
curl ááẠcloudflare áá¬áá¬á¡ááœáẠá¡áá»á¬ážáá°ááŸá¬ eSNI áá±á¬á·á¡ááœáẠDNS áá¬áá¬ááá¯á· áŠážá
áœá¬ááŸáá·áºáá²á·ááẠ- _esni.cloudflare.com (áááºáá±á·áá»áºáá¶áá«áẠ13) ááá¯á· TXT DNS áá±á¬ááºážááá¯ááŸá¯ááᯠááœá±á·ááŒááºááá¯ááºáááºá ááá¯á·áá±á¬áẠopenssl á
á¬ááŒáá·áºááá¯ááºááᯠá¡áá¯á¶ážááŒá¯á curl ááẠSNI á¡ááœááºá¡á¬áž ááááºá¡ááá·áºááœááºáááŸááá±á¬ á¡áá»á¬ážáá°ááŸá¬áá±á¬á·ááŒáá·áº áá¯ááºááŸááºáá¬ážáá±á¬ TLS 1.3 áá±á¬ááºážááá¯áá»ááºááᯠcloudflare áá¬áá¬áᶠáá±ážááá¯á·áá²á·áááºá ááá¯á·áá±á¬áºá eSNI á¡ááœááºá¡ááŒááºá SSL-hello áááºáááºááœáẠáá»áœááºá¯ááºááá¯á·ááẠáááºááá·áºá¡ááŸá¬á
á¬ááŒáá·áºáááᯠáááºááŸááºááá¯ááºáá±á¬ áá¯á¶ááŸááºááœáá·áºáá¬ážáá±á¬ SNI ááŸáá·áº á¡ááœááºáá
áºáá¯áá«áááºááẠ(á€ááá
á¹á
ááœááºá
á€ááœáá·áºáááºážáá±á¬ SNI á¡ááœááºááᯠcloudflare áá¬áá¬áá»á¬ážá áá¯ááºáá±á¬ááºáá±á¬á¡áá« áááºááá·áºáááºážááŒáá·áºáá»áŸ ááá·áºááœááºážá ááºážá á¬ážááŒááºážáááŒá¯áá² áá¶á·ááá¯ážáá±ážáá° DPI á¡ááœáẠáá»ááºááŸá¬áá¯á¶ážá¡ááŒá áºáᬠáá±á¬ááºááœááºáá²á·áááºá cloudflare áá¬áá¬ááẠáá»áœááºá¯ááºááá¯á·á ssl-hello áááºáááºááᯠáááºáá¶áááŸáááŒá®áž eSNI ááᯠá á¬ááŸááºáá¬ážáᬠáá°áááºáž SNI ááᯠááá¯áá±áá¬á០áá¯ááºáá°ááŒá®áž áá¬ááŸááŒá áºááá¬ááá²á·ááá¯á· á á®áá¶áá±á¬ááºááœááºááẠ(áááºážááẠeSNI áá®ááœááºáá»áááºááœáẠá á®á ááºáá¬ážááá·áºá¡ááá¯ááºáž á¡áá¬á¡á¬ážáá¯á¶ážááᯠá¡ááá¡áá» áá¯ááºáá±á¬ááºáá²á·áááº)á
á€ááá á¹á ááœáẠDPI ááŸá¯áá±á¬áá·áºá០áááºážááááá¯ááºáá±á¬ áá áºáá¯áááºážáá±á¬á¡áá¬ááŸá¬ _esni.cloudflare.com ááá¯á· á¡ááá DNS áá±á¬ááºážááá¯áá»ááºááŒá áºáááºá ááá¯á·áá±á¬áº áá»áœááºá¯ááºááá¯á·ááẠá¡ááœááºážááá¯ááºážá០á€ááá¹ááá¬ážá¡áá¯ááºáá¯ááºáá¯á¶ááᯠááŒááááºá¡ááœááºáᬠDNS áá±á¬ááºážááá¯ááŸá¯ááᯠááœáá·áºáá¬ážáááºá
áá±á¬ááºáá¯á¶ážááœáẠDPI á¡á±á¬ááºá០áá±á¬áºáá±á¬ááᯠááœá²áá¯ááºáááºá áá±á¬áºááŒáá¬ážááŒá®ážááŒá áºáá±á¬ DNS-over-HTTPS ááá¹ááá¬ážááᯠá¡áá¯á¶ážááŒá¯áá«áááºá á¡áááºážáááºááŸááºážááŒáá»áẠ- DOH ááẠHTTPS ááŸáá áºááá·áº DNS áá±á¬ááºážááá¯ááŸá¯ááᯠáá±ážááá¯á·ááŒááºážááŒáá·áº áá°á¡áá»ááºážáá»ááºáž á¡áááºá¡áááºááá¯ááºááá¯ááºááŸá¯ááᯠáá¬ááœááºááẠááœáá·áºááŒá¯ááá·áº áááá¯ááá¯áá±á¬áá áºáá¯ááŒá áºáááºá
áá±á¬ááºážááá¯áá»ááºááᯠáááºáá¶áá¯ááºáá±á¬ááºááŒáá«á áá¯á·á ááá¯á·áá±á¬áº ááá¯áá áºááŒáááºááœáẠDNS ááá¯ááºáá² https protocol ááŸáá áºááá·áº á¡áá»á¬ážáá°ááŸá¬ eSNI áá±á¬á·áá»á¬ážááᯠáááºáá¶áááŸááá«áááºá
ESNI_COVER="www.hello-rkn.ru" DOH_URL=https://mozilla.cloudflare-dns.com/dns-query ./curl-esni https://cloudflare.com/
áá±á¬ááºážááá¯ááŸá¯ traffic dump ááᯠá¡á±á¬ááºáá« screenshot ááœáẠááŒáá¬ážáááº-
curl ááẠSNI áá¯ááºááŸááºááŒááºážá¡ááœáẠá¡áá»á¬ážáá°ááŸá¬áá±á¬á·áá»á¬ážááááºááá¯ážáá»á¬ážááᯠáááºážááá¯á·áá¶ááŸááá°ááẠDoH áááá¯ááá¯áá±á¬ (áá¬áᬠ104.16.249.249) ááŸáá
áºááá·áº mozilla.cloudflare-dns.com áá¬áá¬ááᯠááááá¯á¶ážáááºáá±á¬ááºááŒáá·áºááŸá¯ááá¯ááºáááºá ááá¯á·áá±á¬áẠáŠážáááºáá¬ááá¯á· áá¬áá¬á ááá¯ááááºážáá±á¬ááºááœááºááŸá¬ áá¯ááºážáá±áááºá
á¡áááºáá±á¬áºááŒáá« 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
á€ááá
á¹á
ááœááºá áá»áœááºá¯ááºááá¯á·ááẠDoH ááŒá±ááŸááºážáá° dns.google ááᯠá¡áá¯á¶ážááŒá¯á ááááºááá¯á·áá¬ážáá±á¬ rutracker.nl áá¬áá¬ááá¯á· ááŸáá·áºááœá¬ážááẠ(á€áá±áá¬ááœáẠá¡ááŸá¬ážá¡ááœááºážáááŸááá«á ááá¯á¡áá« áá¬áááºááŒá®ážáá±á¬áºááá¯áá±ážááŸááºážááœáẠáááºážááááá¡ááá·áºááá¯ááááºážááŸááá«áááº) ááŸáá·áº áááºážááŒááºá
áœá¬ ááá·áºáááºáá¬ážáá±á¬ á¡ááŒá¬ážááá¯ááááºážáá
áºáá¯ááŒáá·áº áá»áœááºá¯ááºááá¯á·ááᯠáá¯á¶ážá¡á¯ááºáá¬ážáááºá áá±ááŒááºážáá±ááá¬á¡á±á¬ááºááœáẠááááºááá¯á·ááẠDPI á¡á¬ážáá¯á¶ážááᯠáá¬ážááŒá
áºáá¬ážáááºá áááºáá¶áááŸáááá·áº áá¯á¶á·ááŒááºááŸá¯á¡áá±á«áº á¡ááŒá±áá¶á áá»áœááºá¯ááºááá¯á·á áá±á¬ááºážááá¯áá»ááºááᯠá¡á±á¬ááºááŒááºá
áœá¬ áá¯ááºáá±á¬ááºááŒá®ážááŒá
áºááŒá±á¬ááºáž áááºáá¬ážáááºááá¯ááºáá«áááºá
áááºáá±á¬ááºááŸá¯áá±ážáá°á DPI ááẠá¡áá¯á¶ážáá áºáá¯á¡ááŒá Ạáá»áœááºá¯ááºááá¯á·áá±ážááá¯á·ááá·áº á¡ááœáá·áº SNI ááᯠáá¯á¶á·ááŒááºááŒá±á¬ááºáž áááºáá±á¬ááºážá á áºáá±ážááŸá¯áá áºáá¯á¡áá±ááŒáá·áºá á¡ááŒá¬ážáá¬ážááŒá áºáá¬ážáá±á¬á¡áááºážá¡ááŒá áºá¡áá»áá¯á·á á¡ááœááºáá±á¬ááºááŸá¯á¡á±á¬ááºááœáẠáá»áœááºá¯ááºááá¯á·ááẠá¡ááŒá¬áž "áá±á¬ááºážáá±á¬" torrent tracker ááᯠáá±á¬ááºážááá¯ááá¯ááºáá«áááºá
$ ESNI_COVER="rutor.info" DOH_URL=https://dns.google/dns-query ./curl-esni https://rutracker.nl/
áá»áœááºá¯ááºááá¯á·ááẠáá¬áá¬áá¶á០áá¯á¶á·ááŒááºááŸá¯ááᯠáááŸááááºááá¯ááºáá±á¬ááŒá±á¬áá·áº ... áá»áœááºá¯ááºááá¯á·ááá±á¬ááºážááá¯ááŸá¯ááᯠDPI á áá áºááŒáá·áº ááááºááá¯á·ááœá¬ážáá«áááºá
áááááá¯ááºážá¡ááœáẠá¡ááá¯áá±á¬ááºáá±á¬ááºáá»ááºáá áºáá¯
ááá¯á·ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·ááẠopenssl ááŸáá·áº curl ááᯠá¡áá¯á¶ážááŒá¯á eSNI ááá¯ááºáá±á¬ááºááá¯ááºá
áœááºážááᯠááá¯ááºááŒááá¯ááºáá²á·ááŒá®áž eSNI á¡áá±á«áºá¡ááŒá±áá¶áá¬ážáá±á¬ domain fronting ááá¯ááºáá±á¬ááºááŸá¯ááᯠá
ááºážáááºááá¯ááºáá²á·áááºá á¡áá¬ážáá°áááºá áá»áœááºá¯ááºááá¯á·ááẠá¡ááŒá¬ážááá¯ááááºážáá»á¬ážá âáááºáá±á¬ááºááŸá¯á¡á±á¬ááºááœááºâ á¡áá¯ááºáá¯ááºááẠopenssl á
á¬ááŒáá·áºááá¯ááºááᯠá¡áá¯á¶ážááŒá¯ááá·áº áá»áœááºá¯ááºááá¯á·áá¡ááŒáá¯ááºáá¯á¶ážáááááá¬áá»á¬ážááᯠááŒá¯ááŒááºááŒá±á¬ááºážáá²ááá¯ááºáá«áááºá á€á¡ááŒá±á¬ááºážá¡áá±ážá
áááºááᯠáá»áœááºá¯ááºááá¯á·á áá±á¬ááºáá±á¬ááºážáá«ážáá»á¬ážááœáẠáá±á¬áºááŒáá¬ážáááºá
source: www.habr.com