Tengo que acceder a un servidor web al http://someserver y requiere cierta autenticación. ¿Cómo puedo saber si está usando NTLM, Kerberos o lo que sea?¿Cómo puedo saber qué tipo de autenticación está usando un servidor?
Respuesta
Utilice una herramienta como Fiddler para ver los encabezados de respuesta. El servidor enviará algunos encabezados "WWW-Authenticate" que enumeran los diferentes protocolos de seguridad que son compatibles.
Otra forma de hacerlo es mirar los primeros bytes del encabezado.
Si comienza con Negotiate TlR
entonces usted está haciendo SPNEGO sobre NTLM
Si comienza con Negotiate YII
entonces usted está haciendo SPNEGO sobre Kerberos.
subvención
Para extender la respuesta de Grant Cermak:
cabecera WWW-Authenticate es base64. Cuando comienza con TlR, después de decodificarlo, vemos que comienza con NTLMSSP (http://msdn.microsoft.com/en-us/library/cc236641.aspx), así que sabemos que es NTLM.
Cuando comienza con YII, después de la decodificación vemos que comienza con los bytes 0x60, 0x82 (es decir, el objeto construido de la aplicación), luego hay dos bytes para la longitud del token completo, y luego está: 0x06, 0x06, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x02 (es decir, un OID SPNEGO: 1.3.6.1.5.5.2). (http://msdn.microsoft.com/en-us/library/ms995330.aspx). Sabemos que es una ficha de SPNEGO.
Según la longitud del token spnego, el encabezado WWW-Authenticate puede comenzar desde YA a YP.
Kamil & SPL
- 1. ¿Cómo puedo saber qué navegador está usando un usuario?
- 2. ¿Cómo puedo saber qué versión de Java está usando Tomcat6?
- 3. ¿Cómo puedo saber qué fuente está usando Chrome?
- 4. ¿Cómo puedo saber qué puerto está escuchando mi servidor jboss programáticamente usando JBoss 4.2.3?
- 5. ¿Cómo saber qué proceso está usando un archivo dado?
- 6. ¿Cómo puedo saber si alguien está falsificando un tipo de archivo? (PHP)
- 7. ¿Cómo puedo saber el tipo de archivo usando Boost.Filesystem?
- 8. Cómo saber qué optimizaciones está usando bjam para generar impulso
- 9. ¿Cómo puedo saber qué versión de Javascript estoy usando?
- 10. ¿Cómo puedo saber cuánta energía está usando mi computadora?
- 11. ¿Cómo puedo saber qué proceso Linux está esperando?
- 12. iPhone/iOS: ¿Cómo puedo saber qué localización está usando el teléfono en tiempo de ejecución?
- 13. ¿Cómo puedo saber qué versión de OpenGL estoy usando?
- 14. En Emacs, ¿cómo puedo saber qué paquete está cargando tramp?
- 15. ¿Cómo saber qué hilo está bloqueando un archivo en Java?
- 16. ¿Cómo puedo saber si un secuenciador está cerrado?
- 17. ¿Cómo saber qué tipo es una var?
- 18. ¿Cómo puedo saber si mi servidor PostgreSQL está utilizando la configuración regional "C"?
- 19. ¿Cómo puedo ver qué recolector de basura java está usando
- 20. Cómo saber si el servidor de emacs se está ejecutando
- 21. ¿Cómo puedo saber si un usuario está usando una computadora portátil?
- 22. Cómo saber qué versión de una aplicación gem a rails está usando
- 23. ¿Cómo saber a qué puerto está conectado un dispositivo USB?
- 24. ¿Cómo puedo saber si un cliente web está bloqueando anuncios?
- 25. ¿Cómo puedo saber el tipo de parámetro de websocket onmessage?
- 26. ¿Cómo puedo saber si un proceso se está ejecutando?
- 27. ¿Cómo puedo detectar qué dispositivo iOS está usando mi usuario?
- 28. ¿Cómo saber la dirección IP del servidor (usando JavaScript) a la que está conectado el navegador?
- 29. ¿Cómo puedo ver realmente qué tipo de letra está usando el elemento?
- 30. ¿Cómo puedo saber si Moodle cron está funcionando?
dulce y respuesta fácil! – Matt
Fiddler también le dirá si está utilizando NTLM frente a Kerberos al analizar el encabezado www-authenticate. –