首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么CNTLM要求提供密码?

为什么CNTLM要求提供密码?
EN

Stack Overflow用户
提问于 2013-10-16 18:49:15
回答 1查看 25.5K关注 0票数 16

我已经在Windows上配置了CNTLM Proxy Authorization,配置文件如下:

代码语言:javascript
运行
复制
Auth            NTLM
PassNT          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
PassLM          YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
PassNTLMv2      ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ

Proxy           proxy.xxxx.com:8080

Listen          3130

我在局域网设置中使用localhost:3130作为代理,点击浏览器上的任何网址,它都会再次询问密码!如果我输入的密码与生成散列时使用的密码相同,则可以正常工作。简单地说,Cntlm的目的是失败的。有没有人遇到过这种情况?这是怎么回事?有没有办法绕过这个问题?

EN

Stack Overflow用户

回答已采纳

发布于 2014-05-31 03:42:06

<编辑>如果你使用的是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会给你一些哈希值。如下所示:

代码语言:javascript
运行
复制
c:\Program Files (x86)\Cntlm>cntlm -H -d your_domain -u your_username
Password:
PassLM          4E9C185900C7CF0B6FFCB2044F81920C
PassNT          6E9F120B83EEA0E875CE8E6F9730EC9A
PassNTLMv2      2A0B7C2457FB7DD8DA4EB737C4FA224F  

现在,您已经对密码进行了哈希处理。将它们保存到文本编辑器中。

5)类型:cntlm -M http://www.google.com

再次输入您的密码。它会给你类似这样的东西:

代码语言:javascript
运行
复制
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。它在您的系统上可能会有所不同。

诀窍是,

  • 如果身份验证是NT,则必须仅使用PassNT
  • 如果身份验证是LM,则必须仅使用PassLM
  • 如果身份验证是NTLM,则必须同时使用PassNT和PassLM
  • 如果身份验证是NTLMv2,则必须仅使用PassNTLMv2

现在我们得到了我们想要的一切。对于我的配置,Auth显示为NTLM,因此我将在cntlm.ini配置文件中同时使用PassNT和PassLM。

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

代码语言:javascript
运行
复制
#
# 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
# end of config

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

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

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

您可以在此处获得最新的Cntlm二进制文件:http://cntlm.sourceforge.net/

票数 29
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19401468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档