如何使用fiddler用chrome调试ntlm协议?

时间:2015-03-03 06:38:15

标签: node.js google-chrome fiddler express-ntlm

这是与how to use express-ntlm to get windows user name without authentication using NODE.js?

相关的问题

我试图找到一种方法来获取访问者用户名而不经过真正的ntlm身份验证,我只想使用express-ntlm从浏览器http响应中提取用户名。

我对这个过程的理解是:

  1. 浏览器向node.js发送没有授权标头的请求
  2. express-ntlm发表401回复
  3. 浏览器向具有授权标头
  4. 的node.js发送请求
  5. express-ntlm以质询
  6. 回复401
  7. 浏览器应发送包含用户名信息的回复
  8. 我被困在上面的第4步。 我刚刚安装了Fiddler来记录页面加载的通信跟踪。

    第一次握手:

    GET http://localhost:3000/search HTTP/1.1
    Host: localhost:3000
    Connection: keep-alive
    Cache-Control: max-age=0
    Accept:     
    text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML,    
    like Gecko) Chrome/40.0.2214.115 Safari/537.36
    Accept-Encoding: gzip, deflate, sdch
    Accept-Language: en-US,en;q=0.8,zh-CN;q=0.6,zh;q=0.4
    If-None-Match: "1085683586"
    
    ==== response ====
    HTTP/1.1 401 Unauthorized
    X-Powered-By: Express
    WWW-Authenticate: NTLM
    Date: Wed, 04 Mar 2015 01:48:10 GMT
    Connection: keep-alive
    Proxy-Support: Session-Based-Authentication
    Content-Length: 0
    

    第二次握手:

    GET http://localhost:3000/search HTTP/1.1
    Host: localhost:3000
    Connection: keep-alive
    Cache-Control: max-age=0
    Authorization: NTLM    
    TlRMTVNTUAABAAAAB7IIogQABAA0AAAADAAMACgAAAAGAbEdAAAAD1hBUEVOR0xJQU4zMFhMTlg=
    Accept:  
    text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML,   
    like Gecko) Chrome/40.0.2214.115 Safari/537.36
    Accept-Encoding: gzip, deflate, sdch
    Accept-Language: en-US,en;q=0.8,zh-CN;q=0.6,zh;q=0.4
    If-None-Match: "1085683586"
    
    === response ====
    HTTP/1.1 401 Unauthorized
    X-Powered-By: Express
    WWW-Authenticate: NTLM  
    TlRMTVNTUAACAAAAAAAAAAAoAAABggAAASNFZ4mrze8AAAAAAAAAAA==
    Date: Wed, 04 Mar 2015 01:48:10 GMT
    Connection: keep-alive
    Proxy-Support: Session-Based-Authentication
    Content-Length: 0
    

    在提琴手的踪迹中有什么我需要注意的吗?

    我使用的是win7 + chrome。 (我也试过IE和Firefox,但没有运气)。

    感谢。

1 个答案:

答案 0 :(得分:1)

使用Fiddler来跟踪Ntlm挑战/响应流是一件好事。在 Inspectors 标签上有一个 Auth 部分,其中包含大量信息。当客户端发送Ntlm类型3请求时,您将在那里找到用户名。它是编码的,但Fiddler会为你解码它。