0
这是关系到how to use express-ntlm to get windows user name without authentication using NODE.js?如何使用fiddler用chrome调试ntlm协议?
我试图找到一种方法来抓住游客的Windows用户名没有通过真正的NTLM身份验证要去一个问题,我只是想提取浏览器的HTTP响应的用户名使用快递,NTLM 。
我的有关过程的理解是:
- 浏览器将请求发送到的node.js擅自头
- 明示-NTLM使得401答复
- 浏览器发送具有到Node.js的一个请求授权标头
- express-ntlm对挑战作出401回复
- 浏览器将发送包含用户名信息的回复
我被卡在上面的步骤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,但没有运气)。
谢谢。
你能提取文本格式的HTTP头文件吗?您对NTLM握手的描述是正确的,但很难在截图中看到实际问题。 请注意,您需要将您的站点添加到受信任的目标列表中以允许NTLM(适用于大多数浏览器)。 – RomanK 2015-03-03 06:57:51
哎呀,我的道歉,屏幕截图太模糊,看不到。我会放下文字。谢谢。 – sqr 2015-03-04 01:37:14
我把“localhost”和“* .domainName.com”放在“本地Intranet”列表中。它是否正确? – sqr 2015-03-04 02:06:31