Làm cách nào để điền thông tin proxy vào tệp cấu hình cntlm?


79

Cntlm là một proxy HTTP xác thực NTLM / NTLM / NTLMv2 nhằm giúp bạn thoát khỏi các chuỗi của thế giới độc quyền của Microsoft.

Tôi có URL proxy của mình ở định dạng sau:

http://user:passwords@my_proxy_server.com:80

Và tôi phải cung cấp thông tin này cho cntlm. Tệp cấu hình của nó cntlm.inicó cấu trúc và thông số sau:

Username 
Domain
Password    
Proxy   

Tôi không chắc, làm thế nào để chia nhỏ thuộc tính proxy ban đầu của tôi để điền vào bốn tùy chọn này?

Câu trả lời:


110

Cập nhật thông tin người dùng, miền và proxy của bạn trong cntlm.ini, sau đó kiểm tra proxy của bạn bằng lệnh này (chạy trong thư mục cài đặt Cntlm của bạn):

cntlm -c cntlm.ini -I -M http://google.ro

Nó sẽ yêu cầu mật khẩu của bạn và hy vọng in thông tin xác thực bắt buộc của bạn, thông tin này phải được lưu trong cntlm.ini

Mẫu 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

Lưu ý: trên linux, tệp cấu hình làcntlm.conf


Tôi có thể tìm ra miền từ http://user:passwords@my_proxy_server.com:80hay tôi nên hỏi quản trị viên hệ thống?
Dilawar

Hãy thử comment Domain domaindòng và chạy thử, nó có thể hoạt động.
alexandrul

Ngoài ra, bạn có thể thử thêm một Password my-passworddòng. Rất tiếc, tôi không thể sao chép thiết lập của bạn ở đây.
alexandrul

2
Lưu ý trên linux (Mint) tệp cấu hình là cntlm.conf và lệnh này hoạt động (không có phần .exe)
Carl Pritchett

1
Hấp dẫn. Đối với hậu thế, tôi vừa tìm thấy nó /etc/cntlm.conftrên Ubuntu 14.04.
weberc2

54

Giải pháp thực hiện hai bước!

Trước tiên, hãy điền đầy đủ các trường người dùng, miền và proxy vào cntlm.ini. Tên người dùng và miền có thể là bất cứ thứ gì bạn sử dụng để đăng nhập vào Windows tại văn phòng của bạn, ví dụ:

Username            employee1730
Domain              corporate
Proxy               proxy.infosys.corp:8080

Sau đó kiểm tra cntlm bằng một lệnh chẳng hạn như

cntlm.exe -c cntlm.ini -I -M http://www.bbc.co.uk

Nó sẽ yêu cầu mật khẩu của bạn (một lần nữa bất kỳ thứ gì bạn sử dụng để đăng nhập vào Windows_). Hy vọng rằng nó sẽ in 'http 200 ok' ở đâu đó và in một số thông tin xác thực mã thông báo khó hiểu của bạn. Bây giờ thêm chúng vào cntlm.ini, ví dụ:

Auth            NTLM
PassNT          A2A7104B1CE00000000000000007E1E1
PassLM          C66000000000000000000000008060C8

Cuối cùng, đặt http_proxybiến môi trường trong Windows (giả sử bạn không thay đổi với Listentrường được đặt theo mặc định 3128) thành như sau

http://localhost:3128

15

Nếu không có bất kỳ cấu hình nào, bạn có thể chỉ cần đưa ra lệnh sau (sửa đổi myusernamemydomainvới thông tin của riêng bạn):

cntlm -u myusername -d mydomain -H

hoặc là

cntlm -u myusername@mydomain -H

Nó sẽ hỏi bạn mật khẩu của myusernamevà sẽ cung cấp cho bạn kết quả sau:

PassLM          1AD35398BE6565DDB5C4EF70C0593492
PassNT          77B9081511704EE852F94227CF48A793
PassNTLMv2      A8FC9092D566461E6BEA971931EF1AEC    # Only for user 'myusername', domain 'mydomain'

Sau đó tạo ra các tập tin cntlm.ini(hoặc cntlm.conftrên Linux sử dụng đường dẫn mặc định) với nội dung như sau (thay thế của bạn myusername, mydomainA8FC9092D566461E6BEA971931EF1AECvới thông tin của bạn và kết quả của lệnh trước đó):

Username    myusername
Domain      mydomain

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

Listen      127.0.0.1:5865
Gateway     yes

SOCKS5Proxy 5866

Auth        NTLMv2
PassNTLMv2  A8FC9092D566461E6BEA971931EF1AEC

Sau đó, bạn sẽ có một proxy mở cục bộ trên cổng cục bộ 5865và một proxy khác hiểu giao thức SOCKS5 tại cổng cục bộ 5866.


3

Đây là hướng dẫn về cách sử dụng cntlm

Cntlm là gì?

cntlm là một proxy HTTP xác thực NTLM / NTLMv2

Nó lấy địa chỉ của proxy của bạn và mở một ổ cắm lắng nghe, chuyển tiếp từng yêu cầu đến proxy mẹ

Tại sao cntlm?

Sử dụng cntlm, chúng tôi làm cho nó có thể chạy các công cụ như choro, pip3, apt-gettừ một dòng lệnh

pip3 install requests
choco install git

Ưu điểm chính của cntlm là bảo vệ bằng mật khẩu.

Với cntlm, bạn có thể sử dụng hàm băm mật khẩu.

Vì vậy, NO PASSWORD rõ trong %HTTP_PROXY%%HTTPS_PROXY%môi trường biến

Cài đặt cntlm

Bạn có thể tải bản phát hành cntlm mới nhất từ sourceforge

Ghi chú! Tên người dùng và miền

Tên sử dụng của tôi là zezulinsky

Miền của tôi là local

Khi tôi chạy các lệnh tôi sử dụng zezulinsky@local

Đặt tên người dùng của bạn khi bạn chạy lệnh

Tạo băm mật khẩu

Chạy lệnh

cntlm -u zezulinsky@local -H

Nhập mật khẩu của bạn:

Password:

Kết quả là bạn nhận được mật khẩu được băm:

PassLM          AB7D42F42QQQQ407552C4BCA4AEBFB11
PassNT          PE78D847E35FA7FA59710D1231AAAF99
PassNTLMv2      46738B2E607F9093296AA4C319C3A259

Xác minh mã băm đã tạo của bạn là hợp lệ

Chạy lệnh

cntlm -u zezulinsky@local -M http://google.com

Nhập mật khẩu của bạn

Password:

Kết quả đầu ra

Config profile  1/4... OK (HTTP code: 301)
----------------------------[ Profile  0 ]------
Auth            NTLMv2
PassNTLMv2      46738B2E607F9093296AA4C319C3A259
------------------------------------------------

Ghi chú! kiểm tra xem hàm băm PassNTLMv2 có giống nhau Băm kết quả là giống nhau cho cả hai lệnh

PassNTLMv2      46738B2E607F9093296AA4C319C3A259

Thay đổi tệp cấu hình

Đặt các băm đã tạo vào cntlm.initệp cấu hình

C:\Program Files (x86)\Cntlm\cntlm.ini

Đây là cách bạn cntlm.inisẽ trông như thế nào

Username    zezulinsky
Domain      local
PassLM      AB7D42F42QQQQ407552C4BCA4AEBFB11
PassNT      PE78D847E35FA7FA59710D1231AAAF99
PassNTLMv2  46738B2E607F9093296AA4C319C3A259

Proxy       PROXYSERVER:8080
NoProxy     localhost, 127.0.0.*
Listen      3128

Ghi chú! dòng mới ở cuối cntlm.ini

Điều quan trọng là phải thêm một dòng mới vào cuối cntlm.initệp cấu hình

Đặt các biến môi trường của bạn

HTTPS_PROXY=http://localhost:3128
HTTP_PROXY=http://localhost:3128

Kiểm tra xem cntlm của bạn có hoạt động không

Dừng tất cả các quy trình được đặt tên cntlm.exebằng trình khám phá quy trình

Chạy lệnh

cntlm -u zezulinsky@local -H

Đầu ra trông giống như

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

Mở một cmd mới và chạy lệnh:

pip3 install requests

Bạn nên cài đặt gói python yêu cầu

Khởi động lại máy của bạn

Xin chúc mừng, bây giờ bạn đã cài đặt và cấu hình cntlm


1

Chỉ cần thêm, nếu bạn đang thực hiện thao tác "pip", bạn có thể cần thêm và bổ sung "--proxy = localhost: port_number"

ví dụ pip install --proxy=localhost:3128 matplotlib

Truy cập liên kết này để xem chi tiết đầy đủ.


0

Sau khi tạo tệp và thay đổi mật khẩu, bạn có thể chạy như bên dưới,

cntlm -H

Tên người dùng sẽ giống nhau. nó sẽ yêu cầu mật khẩu, cung cấp cho nó, sau đó sao chép PassNTLMv2, chỉnh sửa cntlm.ini, sau đó chỉ cần chạy như sau

cntlm -v

-3

Đối với tôi, việc sử dụng cntlm -Hkhông tạo ra hàm băm phù hợp, nhưng nó thực hiện với lệnh bên dưới cung cấp tên người dùng.

Nếu bạn cần tạo mã băm mật khẩu mới cho cntlm, do bạn đã thay đổi hoặc buộc phải cập nhật nó, bạn có thể chỉ cần nhập lệnh dưới đây và cập nhật tệp cấu hình cntlm.conf của mình với đầu ra:

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

Bài đăng này hoàn toàn thiếu thông tin, tên miền và tên người dùng đó phải được đặt để băm NTLMv2 hoạt động chính xác, cũng như cách thức và nơi lưu trữ thông tin này.
Petr
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.