【问题标题】:How can I tell what type of authentication a server is using?我如何知道服务器正在使用什么类型的身份验证?
【发布时间】:2010-01-27 23:01:15
【问题描述】:

我必须访问http://someserver 的网络服务器,它需要一些身份验证。 我如何判断它使用的是 NTLM、Kerberos 还是其他任何东西?

【问题讨论】:

    标签: authentication kerberos ntlm


    【解决方案1】:

    另一种方法是查看标头的前几个字节。

    如果它以 Negotiate TlR 开头,那么您正在通过 NTLM 执行 SPNEGO

    如果它以 Negotiate YII 开头,那么您就是在 Kerberos 上执行 SPNEGO。

    授予

    【讨论】:

      【解决方案2】:

      使用Fiddler 之类的工具查看响应标头。服务器将发回一些“WWW-Authenticate”标头,列出支持的不同安全协议。

      【讨论】:

      • Fiddler 还会通过解析 www-authenticate 标头告诉您您使用的是 NTLM 还是 Kerberos。
      【解决方案3】:

      延伸格兰特瑟马克的回答:

      WWW-Authenticate 标头采用 base64 编码。当它以 TlR 开头时,解码后我们看到它以 NTLMSSP (http://msdn.microsoft.com/en-us/library/cc236641.aspx) 开头,因此我们知道它是 NTLM。

      当它以YII开头时,解码后我们看到它以字节0x60、0x82(即Application Constructed Object)开头,那么整个token的长度有两个字节,然后是:0x06、0x06、0x2b、0x06 , 0x01, 0x05, 0x05, 0x02(即 SPNEGO OID:1.3.6.1.5.5.2)。 (http://msdn.microsoft.com/en-us/library/ms995330.aspx)。我们知道这是一个 SPNEGO 代币。

      根据 spnego 令牌的长度,WWW-Authenticate 标头可能从 YA 开始到 YP。

      卡米尔和声压级

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-05-17
        • 2020-01-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多