服务器 127.0.0.1:3128 需要用户名和密码。服务器说:cntlm for parent

服务器 127.0.0.1:3128 需要用户名和密码。服务器说:cntlm for parent

我刚刚在新的 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

相关内容