Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Proxy 如何在cntlm配置文件中填写代理信息?_Proxy - Fatal编程技术网

Proxy 如何在cntlm配置文件中填写代理信息?

Proxy 如何在cntlm配置文件中填写代理信息?,proxy,Proxy,是一个NTLM/NTLM会话响应/NTLMv2身份验证HTTP代理,旨在帮助您摆脱Microsoft专有世界的束缚 我的代理URL的格式如下: http://user:passwords@my_proxy_server.com:80 我必须向cntlm提供这些信息。其配置文件cntlm.ini具有以下结构和参数: Username Domain Password Proxy 我不知道如何分解原始代理属性以填充这四个选项?在cntlm.ini中更新您的用户、域和代理信息,然后使

是一个NTLM/NTLM会话响应/NTLMv2身份验证HTTP代理,旨在帮助您摆脱Microsoft专有世界的束缚

我的代理URL的格式如下:

http://user:passwords@my_proxy_server.com:80
我必须向cntlm提供这些信息。其配置文件
cntlm.ini
具有以下结构和参数:

Username 
Domain
Password    
Proxy   

我不知道如何分解原始代理属性以填充这四个选项?

cntlm.ini
中更新您的用户、域和代理信息,然后使用此命令测试您的代理(在您的cntlm安装文件夹中运行):

它将询问您的密码,并希望打印您所需的身份验证信息,这些信息必须保存在您的
cntlm.ini

示例
cntlm.ini

Username            user
Domain              domain

# provide actual value if autodetection fails
# Workstation         pc-name

Proxy               my_proxy_server.com:80
NoProxy             127.0.0.*, 192.168.*

Listen              127.0.0.1:54321
Listen              192.168.1.42:8080
Gateway             no

SOCKS5Proxy         5000
# provide socks auth info if you want it
# SOCKS5User          socks-user:socks-password

# printed authentication info from the previous step
Auth            NTLMv2
PassNTLMv2      98D6986BCFA9886E41698C1686B58A09

注意:在linux上,配置文件是
cntlm.conf

解决方案需要两个步骤

首先,在
cntlm.ini
中填写用户、域和代理字段。用户名和域可能是您在办公室登录Windows时使用的任何内容,例如

Username            employee1730
Domain              corporate
Proxy               proxy.infosys.corp:8080
然后使用如下命令测试cntlm

cntlm.exe -c cntlm.ini -I -M http://www.bbc.co.uk
它将询问您的密码(再次询问您登录Windows时使用的密码)。希望它能在某个地方打印“HTTP200OK”,并打印您的一些神秘令牌身份验证信息。现在将这些添加到
cntlm.ini
,例如:

Auth            NTLM
PassNT          A2A7104B1CE00000000000000007E1E1
PassLM          C66000000000000000000000008060C8
最后,将Windows中的
http\u proxy
环境变量设置为以下值(假设您没有更改
Listen
字段,默认设置为
3128

http://localhost:3128
cntlm -v

只是为了添加,如果您正在执行“pip”操作,您可能需要添加和附加“-proxy=localhost:port\u number”

e、 g
pip安装--proxy=localhost:3128 matplotlib


请访问此处查看完整详细信息。

对于我来说,仅使用
cntlm-H
并没有生成正确的散列,但它通过下面提供用户名的命令生成

如果您需要为cntlm生成一个新的密码哈希,因为您已经对其进行了更改或被迫对其进行了更新,您可以键入以下命令并使用输出更新cntlm.conf配置文件:

$ cntlm -u test -H
Password: 
PassLM          D2AABAF8828482D5552C4BCA4AEBFB11
PassNT          83AC305A1582F064C469755F04AE5C0A
PassNTLMv2      4B80D9370D353EE006D714E39715A5CB    # Only for user 'test', domain ''

无需任何配置,您只需发出以下命令(使用您自己的信息修改
myusername
mydomain
):

它将询问您
myusername
的密码,并提供以下输出:

PassLM          1AD35398BE6565DDB5C4EF70C0593492
PassNT          77B9081511704EE852F94227CF48A793
PassNTLMv2      A8FC9092D566461E6BEA971931EF1AEC    # Only for user 'myusername', domain 'mydomain'
然后使用以下内容创建文件
cntlm.ini
(或使用默认路径在Linux上创建
cntlm.conf
)(使用您的信息和上一个命令的结果替换
myusername
mydomain
A8FC9092D566461E6BEA971931EF1AEC
):


然后,您将在本地端口
5865
上有一个本地开放代理,在本地端口
5866
上有另一个了解SOCKS5协议的代理。一旦生成文件并更改密码,您可以按如下方式运行

cntlm -H
用户名将是相同的。它将请求密码,给出密码,然后复制PassNTLMv2,编辑cntlm.ini,然后运行以下命令

http://localhost:3128
cntlm -v

以下是关于如何使用cntlm的指南

什么是cntlm? cntlm是对HTTP代理进行身份验证的NTLM/NTLMv2

它获取代理的地址并打开侦听套接字,将每个请求转发给父代理

为什么是cntlm? 使用cntlm,我们可以从命令行运行诸如
choro、pip3、apt-get等工具

pip3 install requests
choco install git
cntlm的主要优点是密码保护

使用cntlm,您可以使用密码哈希

因此
%HTTP\u PROXY%
%HTTPS\u PROXY%
环境变量中没有明文密码

安装cntlm 您可以从获取最新的cntlm版本

注意!用户名和域 我的用户名是
zezulinsky

我的域名是
local

当我运行命令时,我使用
zezulinsky@local

运行命令时放置用户名

生成密码散列 运行命令

cntlm -u zezulinsky@local -H
cntlm -u zezulinsky@local -M http://google.com
输入您的密码:

Password:
PassLM          AB7D42F42QQQQ407552C4BCA4AEBFB11
PassNT          PE78D847E35FA7FA59710D1231AAAF99
PassNTLMv2      46738B2E607F9093296AA4C319C3A259
因此,您将获得哈希密码:

Password:
PassLM          AB7D42F42QQQQ407552C4BCA4AEBFB11
PassNT          PE78D847E35FA7FA59710D1231AAAF99
PassNTLMv2      46738B2E607F9093296AA4C319C3A259
验证生成的哈希是否有效 运行命令

cntlm -u zezulinsky@local -H
cntlm -u zezulinsky@local -M http://google.com
输入您的密码

Password:
结果输出

Config profile  1/4... OK (HTTP code: 301)
----------------------------[ Profile  0 ]------
Auth            NTLMv2
PassNTLMv2      46738B2E607F9093296AA4C319C3A259
------------------------------------------------
注意!检查PassNTLMv2哈希是否相同 两个命令的结果哈希相同

PassNTLMv2      46738B2E607F9093296AA4C319C3A259
更改配置文件 将生成的哈希放入
cntlm.ini
配置文件中

C:\Program Files (x86)\Cntlm\cntlm.ini
下面是您的
cntlm.ini
的外观

Username    zezulinsky
Domain      local
PassLM      AB7D42F42QQQQ407552C4BCA4AEBFB11
PassNT      PE78D847E35FA7FA59710D1231AAAF99
PassNTLMv2  46738B2E607F9093296AA4C319C3A259

Proxy       PROXYSERVER:8080
NoProxy     localhost, 127.0.0.*
Listen      3128
注意!cntlm.ini末尾的换行符 在
cntlm.ini
配置文件的末尾添加一个换行符非常重要

C:\Program Files (x86)\Cntlm\cntlm.ini
设置环境变量 检查您的cntlm是否正常工作 使用process explorer停止所有名为
cntlm.exe
的进程

运行命令

cntlm -u zezulinsky@local -H
输出看起来像

cygwin warning:
  MS-DOS style path detected: C:\Program Files (x86)\Cntlm\cntlm.ini
  Preferred POSIX equivalent is: /Cntlm/cntlm.ini
  CYGWIN environment variable option "nodosfilewarning" turns off this warning.
  Consult the user's guide for more details about POSIX paths:
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
section: local, Username = 'zezulinsky'
section: local, Domain = 'local'
section: local, PassLM = 'AB7D42F42QQQQ407552C4BCA4AEBFB11'
section: local, PassNT = 'PE78D847E35FA7FA59710D1231AAAF99'
section: local, PassNTLMv2 = '46738B2E607F9093296AA4C319C3A259'
section: local, Proxy = 'PROXYSERVER:8080'
section: local, NoProxy = 'localhost, 10.*, 127.0.0.*
section: local, Listen = '3128'
Default config file opened successfully
cntlm: Proxy listening on 127.0.0.1:3128
Adding no-proxy for: 'localhost'
Adding no-proxy for: '10.*'
Adding no-proxy for: '127.0.0.*'
cntlm: Workstation name used: MYWORKSTATION
cntlm: Using following NTLM hashes: NTLMv2(1) NT(0) LM(0)
cntlm: PID 1234: Cntlm ready, staying in the foreground
打开新cmd并运行命令:

pip3 install requests
您应该安装了请求python包

重新启动你的机器
恭喜,现在您已经安装并配置了cntlm

我可以从
http://user:passwords@my_proxy_server.com:80
或者我应该询问系统管理员吗?尝试注释
行并运行测试,它可能会起作用。您也可以尝试添加
密码我的密码
行。遗憾的是,我无法在这里复制您的设置。请注意,在linux(Mint)上,配置文件是cntlm.conf,这个命令(没有.exe部分)工作起来很有趣。对于后人来说,我刚刚在Ubuntu 14.04上的
/etc/cntlm.conf
上找到了它。这篇文章完全没有信息,必须设置域和用户名才能使NTLMv2哈希正确工作,以及如何和在何处存储这些信息。