Authentication
如何通過代理身份驗證遠端登錄?
我在我大學的代理伺服器後面。它使用簡單的使用者名和密碼驗證。我將代理伺服器連接到埠 3128。現在我只想遠端登錄網際網路上的任何網站,例如
$ telnet www.google.com 80
這給了我
error telnet: could not resolve www.udacity.com/80: Name or service not known
如何定義 telnet 的代理設置?我已經設置了環境變數
http_proxy
和HTTP_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