Authentication

如何通過代理身份驗證遠端登錄?

  • September 6, 2017

我在我大學的代理伺服器後面。它使用簡單的使用者名和密碼驗證。我將代理伺服器連接到埠 3128。現在我只想遠端登錄網際網路上的任何網站,例如

$ telnet www.google.com 80

這給了我

error telnet: could not resolve www.udacity.com/80: Name or service not known

如何定義 telnet 的代理設置?我已經設置了環境變數http_proxyHTTP_PROXY. 還應用了系統範圍的代理。

您可以為此使用 Proxychains。

首先安裝代理鏈,使用命令:

$ apt-get install proxychains

/etc/proxychains.conf然後在文件中配置您的代理設置。

最後添加這些用於 HTTP 和 HTTPS 代理的行。

http    proxy-ip   proxy-port    username        password
https   proxy-ip   proxy-port    username        password

現在您可以使用以下命令進行 telnet:

$ proxychains telnet www.google.com 80

您可以做瀏覽器所做的事情,即連接到代理,

$ telnet proxy-server 3128

並與之交談。如果沒有身份驗證,一個簡單的GET請求(後跟兩個換行符 ( Enter))帶有完整的主機名和協議,例如

GET http://www.google.com/ HTTP/1.1

應該足夠了。由於您需要身份驗證,因此您需要在Proxy-Authentication標頭中提供您的使用者名和密碼 base64 編碼,例如

GET http://www.google.com/ HTTP/1.1
Proxy-Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=

要創建 base64 字元串,您可以使用echo -n username:password | openssl base64

引用自:https://unix.stackexchange.com/questions/36627