伺服器 127.0.0.1:3128 需要使用者名稱和密碼。伺服器說:cntlm 為父級

伺服器 127.0.0.1:3128 需要使用者名稱和密碼。伺服器說:cntlm 為父級

我剛剛在我的新 Ubuntu 12.04 上安裝了 cntlm。在設定檔中etc/cntlm.conf,我插入了網路配置,如下所示:

Username: myUsername
Domain : myDomain
Password: myPassword

Proxy : myProxy:8080

Listen: 3128

但是當我設定127.0.0.1:3128為瀏覽器網路代理程式並想要存取網站時,會出現 cntlm 的彈出式選單並要求輸入使用者名稱和密碼。

解決這個問題的方法是什麼?如何取得我的網路網域?我認為我的域名或其他詳細資訊可能有誤。

答案1

1) 將 CNTLM 安裝到預設目錄(在 Windows 上,C:\Program Files (x86)\cntlm\ )。

2) 跑步執行程式

3) 類型:cd "C:\Program Files (x86)\cntlm\"

4) 類型:cntlm.exe -H -d 你的網域 -u 你的用戶名

它會詢問您的密碼。輸入您的密碼,cntlm 將為您提供一些雜湊。像這樣的事情:

c:\Program Files (x86)\Cntlm>cntlm -H -d your_domain -u your_username
Password:
PassLM          4E9C185900C7CF0B6FFCB2044F81920C
PassNT          6E9F120B83EEA0E875CE8E6F9730EC9A
PassNTLMv2      2A0B7C2457FB7DD8DA4EB737C4FA224F  

現在您已經對密碼進行了哈希處理。將它們儲存到文字編輯器。

5) 類型:cntlm-Mhttp://www.google.com

再次輸入您的密碼。它會給你類似的東西

c:\Program Files (x86)\Cntlm>cntlm -M http://www.google.com
Password:
Config profile  1/4... Credentials rejected
Config profile  2/4... OK (HTTP code: 302)
----------------------------[ Profile  1 ]------
Auth            NTLM
PassNT          6E9F120B83EEA0E875CE8E6F9730EC9A
PassLM          4E9C185900C7CF0B6FFCB2044F81920C
------------------------------------------------

現在您可以看到設定檔 2 成功了。因為它對設定檔 2 表示「OK」。

訣竅是,

  • 如果 Auth 是 NT,那麼您必須只使用 PassNT
  • 如果 Auth 是 LM,那麼您必須僅使用 PassLM
  • 如果 Auth 是 NTLM,則必須同時使用 PassLM 和 PassNT
  • 如果 Auth 是 NTLMv2,則您必須只使用 PassNTLMv2

現在我們得到了我們想要的一切。對於我的配置,Auth 說 NTLM,因此我將在 cntlm.ini 設定檔中使用 PassNT 和 PassLM。

這是根據給定答案的範例設定檔:

#
# Cntlm Authentication Proxy Configuration File
#

Username yourusername
Domain yourdomain

Auth NTLM
PassNT 6E9F120B83EEA0E875CE8E6F9730EC9A
PassLM 4E9C185900C7CF0B6FFCB2044F81920C

Workstation yourhostname.yourdomain

# Most probably proxy.yourdomain:8080
Proxy  yourProxyIP:yourProxyPort

NoProxy  localhost, 127.0.0.*, 10.*, 192.168.*

Listen  3132

Gateway yes

現在您可以使用電腦的 IP 位址和連接埠 3132 作為代理。

注意 1:不要使用網域名稱\使用者名稱作為使用者名稱 注意 2:如果有,請不要忘記在您的網域後使用「.intra」副檔名(yourdomain.intra)

答案2

cntlm.conf文件中,請確保將該欄位替換Password為以下欄位之一:

  • PassLM(如果你使用LM哈希)
  • PassNT(如果您使用 NT 哈希)
  • PassNTLMv2(如果您使用 NTLMv2 哈希)

然後,你不應該寫明文密碼,而應該寫對應的雜湊值,可以用以下指令計算cntlm -H -d <domain> -u <user>

答案3

我也有同樣的問題。

首先,嘗試這個指令:

sudo cntlm -M http://www.google.com

查看結果。如果唯一的方法好的授權=LM,那你需要修改設定檔(取消註解這行):

Auth         LM
Flags        0x06820000

如果您不知道如何更改配置文件,請執行以下操作:

gksudo gedit /etc/cntlm.conf

請記得重新啟動 CNTLM:

sudo service cntlm restart

相關內容