Puede acceder al sitio bloqueado utilizando lynx pero no con la tecla CURL ni con el navegador

4

No estoy seguro de si este es el lugar correcto para preguntar esto, pero aquí va.

El gobierno del país en el que vivo ha bloqueado wikipedia.org . Por curiosidad, me estaba molestando en averiguar qué métodos se utilizaron, etc. Después de cambiar mi sistema de resolución de DNS predeterminado a Cloudflare (1.1 .1.1), ahora puedo visitar la dirección enlace mediante el navegador CLI lynx . Sin embargo, no puedo visitar el sitio desde mi navegador (Safari), ni cURL. La salida del comando curl https://wikipedia.org/ -vv da:

*   Trying 103.102.166.224...
* TCP_NODELAY set
* Connected to wikipedia.org (103.102.166.224) port 443 (#0)
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
*   CAfile: /anaconda3/ssl/cacert.pem
  CApath: none
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to wikipedia.org:443 
* Closing connection 0
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to wikipedia.org:443 

Preguntas:

  • Desde un punto de vista técnico, ¿por qué no puedo acceder exactamente a enlace ?
  • ¿Qué hace que lynx pueda acceder al sitio mientras que cURL no puede? Creo que tiene que ver con los certificados de CA y ssl, pero no puedo entender cómo el gobierno puede modificar los certificados en mi dispositivo.

EDITAR: Solo para aclarar, no me interesan los comentarios sobre cómo sortear este bloqueo ni nada; obviamente hay muchas maneras, pero son irrelevantes para esta pregunta.

EDIT1: Versiones

cURL:

curl 7.58.0 (x86_64-apple-darwin13.4.0) libcurl/7.58.0 OpenSSL/1.0.2o zlib/1.2.11
Release-Date: 2018-01-24
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP UnixSockets HTTPS-proxy

lince:

Lynx Version 2.8.8rel.2 (09 Mar 2014)
libwww-FM 2.14, SSL-MM 1.4.1, OpenSSL 1.0.2o, ncurses 5.7.20081102
Built on darwin17.0.0 Sep 18 2017 16:36:30
    
pregunta mlg556 20.05.2018 - 18:52
fuente

1 respuesta

1

Es probable que su gobierno haya bloqueado las conexiones a wikipedia.org al observar la Indicación del nombre del servidor (SNI) en el protocolo de enlace https y forzar un error si el dominio está en su lista negra.

Es probable que su versión de lynx no proporcione el servidor de dominio en la extensión TLS SNI, mientras que tanto Safari como curl lo hacen. Wikipedia funciona bien sin un nombre de servidor explícito en la capa TLS (habrá proporcionado un comodín cert * .wikipedia.org, con wikipedia.org como nombre alternativo, por lo que no es necesario que presente un certificado diferente a su cliente). Si los filtros de su gobierno no atendían ese caso (o simplemente no querían bloquear todo para lo que no tenían un nombre de host completo), se permitiría dicha conexión, con la mayoría de los otros clientes fallando.

Según el lynx changelog esperaría que su versión de lynx sea compatible con SNI, sin embargo (agregado en 2.8.7pre.2 para openssl, en 2.8.8dev.15 para GNUTLS). Puede confirmar fácilmente si se le proporciona un volcado de paquetes.

    
respondido por el Ángel 15.07.2018 - 00:24
fuente

Lea otras preguntas en las etiquetas