서버 127.0.0.1:3128에는 사용자 이름과 비밀번호가 필요합니다. 서버에 다음과 같이 표시됩니다. 부모에 대한 cntlm

서버 127.0.0.1:3128에는 사용자 이름과 비밀번호가 필요합니다. 서버에 다음과 같이 표시됩니다. 부모에 대한 cntlm

방금 새로운 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) 실행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 -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라고 표시되어 있기 때문입니다. 시스템에 따라 다를 수 있습니다.

비결은,

  • 인증이 NT인 경우 PassNT만 사용해야 합니다.
  • 인증이 LM인 경우 PassLM만 사용해야 합니다.
  • 인증이 NTLM인 경우 PassLM과 PassNT를 모두 사용해야 합니다.
  • 인증이 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: 있다면 도메인(yourdomain.intra) 뒤에 '.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

관련 정보