为什么CNTLM要求输入密码?

ano*_*ias 14 proxy ntlm

我在Windows上配置了CNTLM代理授权,配置文件看起来像,

Auth            NTLM
PassNT          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
PassLM          YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
PassNTLMv2      ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ

Proxy           proxy.xxxx.com:8080

Listen          3130
Run Code Online (Sandbox Code Playgroud)

localhost:3130在LAN设置中使用代理,点击浏览器上的任何URL,它再次要求输入密码!如果我输入与生成哈希相同的密码,则可以.只是Cntlm的目的被打败了.有人面对这个吗?这是如何运作的?有没有办法解决这个问题?

Ram*_*lat 23

< 编辑 >如果您使用的是Windows,那么我强烈推荐px而不是Cntlm,因为它不需要任何一个处理机制.

关于px的说明:

它主要设计为在Windows系统上运行,并使用当前登录的Windows用户帐户代表应用程序进行身份验证

< / EDIT >

1)将CNTLM安装到默认目录(在Windows上,C:\ Program Files(x86)\ cntlm \).

2)跑 cmd.exe

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

4)类型: cntlm.exe -H -d your_domain -u your_username

它会询问您的密码.输入你的密码,cntlm会给你一些哈希值.像这样的东西:

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

现在你有密码哈希.将它们保存到文本编辑器.

5)类型: cntlm -M http://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
------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

现在您看到配置文件2成功了.因为它对配置文件2说好.它可能在您的系统上有所不同.

诀窍是,

  • 如果Auth是NT,那么你必须只使用PassNT
  • 如果Auth是LM,那么你必须只使用PassLM
  • 如果Auth是NTLM,那么你必须同时使用PassNT和PassLM
  • 如果Auth是NTLMv2,则必须仅使用PassNTLMv2

现在我们得到了我们想要的一切 对于我的配置,Auth说NTLM所以我将在cntlm.ini配置文件中使用PassNT和PassLM.

这是一个示例配置文件NTLM(不是NTLMv2!):

#
# 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
Run Code Online (Sandbox Code Playgroud)

6)要测试您的配置,请键入: cntlm -c cntlm.ini -I -M http://www.google.com

7)要启动cntlm,请键入: net start cntlm

现在,您可以使用计算机的IP地址和端口3132作为代理.


你可以在这里获得最新的Cntlm二进制文件:http://cntlm.sourceforge.net/