Cómo depurar el tráfico HTTP / HTTPS en Linux

En este artículo, profundizaremos y veremos cómo puede depurar el tráfico HTTP / HTTPS en su sistema Linux. Contaremos con OpenSSL y htrace.sh texto. htrace.sh es un script de shell simple que se utiliza para depurar el seguimiento del tráfico HTTP / https.

Además, también se puede utilizar para escanear dominios con herramientas de seguridad externas, principalmente Mozilla Observatory y SSL Labs API.. Por otro lado, OpenSSL es un conjunto de herramientas criptográficas que se basa en los protocolos SSL (V2 y 3) y TLS v1 para depurar el tráfico.

1) Usando el script htrace

El script de shell se utiliza para verificar la configuración SSL básica, la configuración del dominio de los servidores web y los proxies inversos, los encabezados de respuesta para cada consulta ejecutada y la realización de análisis de redireccionamiento con el objetivo de eliminar los bucles de redireccionamiento. Además, se puede mostrar información más detallada utilizando el comando de script de shell simple. Esto incluye

  • Dirección remota
  • Versión HTTP
  • Servidor en el que se ejecuta el sitio
  • Tipo de contenido
  • Codificación de contenido

Requisitos

Antes de continuar, asegúrese de que lo siguiente esté instalado en su sistema

  1. Curl 7.49 y posterior
  2. OpenSSL
  3. Git

Instalación y ejecución del script htrace.sh

Primero, clona el repositorio de htrace

git clone https://github.com/trimstray/htrace.sh

Producción

Cloning into 'htrace.sh'...
remote: Counting objects: 300, done.
remote: Compressing objects: 100% (141/141), done.
remote: Total 300 (delta 151), reused 288 (delta 139), pack-reused 0
Receiving objects: 100% (300/300), 421.03 KiB | 0 bytes/s, done.
Resolving deltas: 100% (151/151), done.
Checking connectivity... done.

Navegue al directorio htrace

cd htrace.sh

A continuación, instale htrace usando el siguiente comando

./setup.sh install

Producción

Create symbolic link to /usr/local/bin
Create man page to /usr/local/man/man8

Uso de htrace

Ahora, podemos ejecutar la aplicación y probar un dominio. La sintaxis del comando es

htrace.sh --domain https://example.com

Otras opciones incluyen

Options:
--help show this message
-d|--domain set domain name
-h|--headers show response headers

En el siguiente comando, probaremos google.com

htrace.sh --domain https://google.com --headers

Producción

El resultado a continuación es del sitio nmap.org

2) Usando OpenSSL

Además de utilizar el script de shell htrace.sh, puede utilizar OpenSSL para depurar el problema del certificado SSL desde el indicador de shell. OpenSSL es un robusto kit de herramientas criptográficas de uso general que utiliza los protocolos de red Secure Sockets Layer (SSL v2 / v3) y Transport Layer Security (TLS v1). También se incluye el openssl comando que puede utilizar para depurar problemas con certificados SSL.

Uso

openssl s_client -connect ssl.servername.com:443

A continuación se muestra un example de cómo se puede usar el comando para conectarse a linoxide.com en el puerto 443

openssl s_client -connect www.linoxide.com:443

Salida de muestra

CONNECTED(00000003)
depth=3 C = SE, O = AddTrust AB, OU = AddTrust External TTP Network, CN = AddTrust External CA Root
verify return:1
depth=2 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO ECC Certification Authority
verify return:1
depth=1 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO ECC Domain Validation Secure Server CA 2
verify return:1
depth=0 OU = Domain Control Validated, OU = PositiveSSL Multi-Domain, CN = ssl374062.cloudflaressl.com
verify return:1
---
Certificate chain
0 s:/OU=Domain Control Validated/OU=PositiveSSL Multi-Domain/CN=ssl374062.cloudflaressl.com
i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO ECC Domain Validation Secure Server CA 2
1 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO ECC Domain Validation Secure Server CA 2
i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO ECC Certification Authority
2 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO ECC Certification Authority
i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
---
Server certificate
-----BEGIN CERTIFICATE-----

Eso es todo lo que tenemos para ti hoy. No dude en probar el script de shell htrace.sh y el comando openssl para depurar certificados SSL. Como siempre, sus comentarios son valiosos y muy bienvenidos.