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