다음은 cntlm 사용 방법에 대한 가이드입니다.
cntlm이란 무엇입니까?
cntlm은 NTLM / NTLMv2 인증 HTTP 프록시입니다.
프록시의 주소를 받아 청취 소켓을 열어 각 요청을 상위 프록시로 전달합니다.
왜 cntlm인가?
cntlm을 사용 choro, pip3, apt-get
하면 명령 줄에서 와 같은 도구를 실행할 수 있습니다.
pip3 install requests
choco install git
cntlm의 주요 장점은 암호 보호입니다.
cntlm을 사용하면 암호 해시를 사용할 수 있습니다.
그래서 NO 평문 암호 에 %HTTP_PROXY%
와 %HTTPS_PROXY%
환경 변수
cntlm 설치
sourceforge 에서 최신 cntlm 릴리스를 얻을 수 있습니다.
노트! 사용자 이름 및 도메인
내 사용자 이름은 zezulinsky
내 도메인은 local
내가 사용하는 명령을 실행할 때 zezulinsky@local
명령을 실행할 때 사용자 이름을 입력하십시오.
암호 해시 생성
명령 실행
cntlm -u zezulinsky@local -H
비밀번호 입력 :
Password:
결과적으로 해시 된 암호를 얻게됩니다.
PassLM AB7D42F42QQQQ407552C4BCA4AEBFB11
PassNT PE78D847E35FA7FA59710D1231AAAF99
PassNTLMv2 46738B2E607F9093296AA4C319C3A259
생성 된 해시가 유효한지 확인
명령 실행
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
구성 파일 끝에 개행을 추가하는 것이 중요 합니다.
환경 변수 설정
HTTPS_PROXY=http://localhost:3128
HTTP_PROXY=http://localhost:3128
cntlm이 작동하는지 확인
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
? 아니면 시스템 관리자에게 문의해야합니까?