Saltar al contenido principal

Un flujo práctico para diagnosticar sitios web

¿Tu sitio no carga? Separa DNS, TLS y HTTP antes de cambiar algo.

Identifica qué capa necesita atención con tres comandos existentes de QZX. Comprueba la resolución del nombre, la validez del certificado y la respuesta de una URL concreta, y convierte los resultados en un informe accionable del incidente.

Creado y mantenido por Alejandro Sánchez · QZX — Quick Zap Exchange

Ejecuta el flujo completo

Instala QZX

Estos comandos están disponibles en la Alpha publicada 0.2.2.0.8. Usa Python estándar >=3.11 y verifica la versión instalada antes de ejecutarlos. No necesitas una cuenta ni una clave de API.

python -m pip install --upgrade qzx
qzx version --json

¿Necesitas pipx o ayuda con tu entorno Python? Elige una ruta de instalación.

Ejecuta el flujo completo

Prepara los comandos de abajo o reemplaza example.com manualmente por tu host y una página HTTPS segura, de solo lectura. DNS y TLS reciben un nombre de host, no una URL. Ejecuta cada línea por separado en tu terminal; el timeout HTTP es de 10 segundos, no un límite para todo el flujo.

qzx checkDns example.com --json
qzx checkSslCertificate example.com 443 --json
qzx checkUrlStatus https://example.com 10 --json

Estas comprobaciones contactan resolutores DNS y el servidor remoto. No cambian DNS, no reemplazan certificados ni editan la configuración del servidor. No apuntes a URLs que ejecuten acciones y revisa nombres de host, parámetros de URL y datos devueltos antes de compartir un informe.

1. ¿Se resuelve el nombre?

Lee records.A, records.AAAA, record_status y errors. La ausencia de un registro AAAA o MX, por sí sola, no demuestra una caída web. query_failed indica una consulta inconclusa; dns_name_not_found es un resultado distinto. Puede haber respuestas parciales junto a success: true.

Referencia del comando DNS

2. ¿Es válido el certificado aquí?

Comprueba is_valid, chain_trusted, hostname_match y days_remaining. Un certificado inspeccionado pero inválido puede devolver success: true e is_valid: false. Revisa el reloj y el almacén de confianza local, además del certificado remoto; no desactives la validación para convertir un fallo en un resultado favorable.

Referencia del certificado TLS

3. ¿Qué devuelve esta URL?

Lee is_online, status_code, status_detail y response_time_ms. El comando sigue redirecciones ordinarias e informa la respuesta resultante, no una traza completa de redirecciones. No renderiza JavaScript ni inicia sesión en la aplicación.

Referencia del estado HTTP

Una comprobación completada no equivale a un sitio sano

success y el código de salida describen la ejecución del diagnóstico. No sustituyen la evidencia DNS, is_valid ni is_online. En particular, recibir un HTTP 404 puede producir código de salida 0, success: true e is_online: false.

Capturado, no inventado

Fragmento capturado con el wheel publicado de QZX 0.2.2.0.8 en CPython estándar 3.13.13, Windows x64. Un endpoint HTTP local temporal devolvió 404 intencionalmente. Es una prueba controlada, no una caída de example.com ni de QZX.

{
  "success": true,
  "is_online": false,
  "status_code": 404
}
Ver JSON completo, entorno y huella del wheel
Nombre DNS inexistente o todas las consultas fallidas
Comprueba escritura del nombre, acceso al resolutor o la red local y DNS autoritativo. No cambies de hosting por una consulta fallida aislada.
Certificado inspeccionado, pero is_valid es false
Lee los campos de confianza, nombre de host y fechas. Resuelve la causa informada antes de confiar en esta conexión TLS.
HTTP 401 o 403
Respondió un servidor o intermediario. Revisa reglas de acceso y autenticación; no demuestra que el servidor esté apagado.
HTTP 404
Revisa la ruta exacta, el enrutamiento y el despliegue. El endpoint respondió, pero no proporcionó el recurso solicitado.
HTTP 5xx o ausencia de status_code
Para 5xx, inspecciona los logs de aplicación o proxy que administras. Sin respuesta HTTP, separa evidencia de DNS, conexión, TLS y timeout en status_detail.
HTTP 2xx/3xx y certificado válido
Esta comprobación llegó a un endpoint que responde. Prueba el recorrido real del usuario aparte: un login, una página en caché o JavaScript roto también pueden devolver 200.

Dale al agente un informe del incidente, no permiso para improvisar

Usando estos tres resultados QZX, identifica la primera capa con evidencia de un problema. Distingue entre un diagnóstico fallido, un destino no saludable y una consulta inconclusa. Cita los campos reales, separa hechos de suposiciones y propone una siguiente comprobación. No cambies DNS, certificados, reglas de firewall ni despliegues. No afirmes que la aplicación funciona solo porque HTTP devolvió 200.

¿Prefieres texto en la terminal? Quita --json. ¿Necesitas JSON completo? Consérvalo e inspecciona cada comando por separado; no unas varios documentos JSON como si fueran un único archivo JSON válido.

Respeta el alcance de la evidencia

Los resultados describen este equipo y este momento. Un CDN o proxy puede responder mientras el origen no está disponible; un firewall puede tratar esta CLI de forma distinta a un navegador. Este flujo no es monitoreo continuo, una prueba de navegador, una prueba de carga ni una auditoría de seguridad. Repite una comprobación acotada desde otra red autorizada cuando la ubicación importe.