28 July 2015

HTTP запрос через telnet

Lifehacks for geeks
Берём любой запрещённый сайт, например hizb-ut-tahrir.info
Пытаемся загрузить браузером, curl-ом и через telnet.
Результаты curl и telnet отличаются.

Браузер
Уважаемые пользователи!

Мы приносим свои извинения, но доступ к запрашиваемому ресурсу ограничен.

Возможные причины ограничения доступа:

Доступ ограничен по решению суда или по иным основаниям, установленным законодательством Российской Федерации.

Указатель страницы и (или) доменное имя сайта, сетевой адрес включены в Единый Реестр доменных имен, указателей страниц сайтов сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространение которой в Российской Федерации запрещено.

Проверить наличие доменного имени и (или) указателя страницы сайта, сетевого адреса в Едином реестре можно в разделе «Просмотр реестра» на сайте eais.rkn.gov.ru

Указатель страницы и (или) доменное имя, сетевой адрес включены в Реестр доменных имен, указателей страниц сайтов в сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространяемую с нарушением исключительных прав.

Проверить наличие доменного имени и (или) указателя страницы сайта, сетевого адреса в Реестре можно в разделе «Просмотр реестра» на сайте nap.rkn.gov.ru/reestr

Указатель страницы и (или) доменное имя, сетевой адрес включены в Реестр доменных имен, указателей страниц сайтов в сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие призывы к массовым беспорядкам, осуществлению экстремистской деятельности, участию в массовых (публичных) мероприятиях, проводимых с нарушением установленного порядка.

Проверить наличие доменного имени и (или) указателя страницы сайта, сетевого адреса в Реестре можно в разделе «Просмотр реестра» на сайте 398-fz.rkn.gov.ru

Указатель страницы и (или) доменное имя включены в Реестр организаторов распространения информации в сети «Интернет» и сайтов (или) страниц сайтов в сети «Интернет», на которых размещается общедоступная информация и доступ к которым в течение суток составляет более трех тысяч пользователей сети «Интернет».

Проверить наличие доменного имени и (или) указателя страницы сайта в Реестре можно в разделе «Просмотр реестра» на сайте 97-fz.rkn.gov.ru

Curl
# curl -v http://hizb-ut-tahrir.info
* About to connect() to hizb-ut-tahrir.info port 80 (#0)
*   Trying 54.172.203.125... connected
* Connected to hizb-ut-tahrir.info (54.172.203.125) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
> Host: hizb-ut-tahrir.info
> Accept: */*
> 
< HTTP/1.1 302 Found
< Connection: close
< Location: http://95.167.13.50/?id=11&st=0&dt=54.172.203.125&rs=hizb-ut-tahrir.info/
< 
284
Connection: keep-alive
Last-Modified: Sat, 11 May 2013 23:42:27 GMT
ETag: "c11b41-8ec-4dc79d60a5ec0"
Accept-Ranges: bytes
Vary: Accept-Encoding

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
...

Провайдер сломал заголовки в целях блокировки доступа к странице.

telnet
# telnet hizb-ut-tahrir.info 80
Trying 54.172.203.125...
Connected to hizb-ut-tahrir.info.
Escape character is '^]'.
GET / HTTP/1.1
User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
Host: hizb-ut-tahrir.info
Accept: */*

HTTP/1.1 200 OK
Server: nginx/1.4.6 (Ubuntu)
Date: Tue, 28 Jul 2015 13:37:21 GMT
Content-Type: text/html
Content-Length: 2284
Connection: keep-alive
Last-Modified: Sat, 11 May 2013 23:42:27 GMT
ETag: "c11b41-8ec-4dc79d60a5ec0"
Accept-Ranges: bytes
Vary: Accept-Encoding

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
...

Исходящие заголовки скопированы из curl. Провайдер оказался бессилен.

Почему так происходит? В чём разница между curl и telnet (с toggle crlf — результат не меняется)? Провайдер — хз.
Tags:как такчто-то пошло не так
Hubs: Lifehacks for geeks
-12
14.4k 11
Comments 5
Back-end разработчик
from 1,300 to 2,500 $JetRubyКраснодар
IOS-Разработчик
from 180,000 to 220,000 ₽AutodocМосква