我已经在Windows上配置了CNTLM代理授权,配置文件类似于
Auth NTLM
PassNT XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
PassLM YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
PassNTLMv2 ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
Proxy proxy.xxxx.com:8080
Listen 3130
我在LAN设置中使用localhost:3130
作为代理,点击浏览器上的任何URL,它再次要求输入密码!如果我输入与生成哈希相同的密码,则可以。只是Cntlm的目的被打败了。有人面对这个吗?这是如何运作的?有没有办法解决这个问题?
答案 0 :(得分:21)
<的修改>如果您使用的是Windows,那么我强烈建议使用px而不是Cntlm,因为它不需要任何授权机制。
关于px的注释:
它主要用于在Windows系统上运行并进行身份验证 代表使用当前登录的Windows的应用程序 用户帐户
<的 /修改>
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
现在你有密码哈希。将它们保存到文本编辑器中。
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
------------------------------------------------
现在您看到配置文件2成功了。因为它对配置文件2说好。它可能在您的系统上有所不同。
诀窍是,
现在我们得到了我们想要的一切。 对于我的配置,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
6)要测试您的配置,请键入:cntlm -c cntlm.ini -I -M http://www.google.com
7)要启动cntlm,请键入:net start cntlm
现在您可以使用计算机的IP地址和端口3132作为代理。
您可以在此处获取最新的Cntlm二进制文件:http://cntlm.sourceforge.net/