如何通过代理身份验证telnet?

Aak*_*del 18 authentication proxy telnet

我在我大学的代理服务器后面。它使用简单的用户名和密码验证。我将代理服务器连接到端口 3128。现在我想通过 telnet 简单地说出互联网上的任何网站,例如

$ telnet www.google.com 80
Run Code Online (Sandbox Code Playgroud)

这给了我

error telnet: could not resolve www.udacity.com/80: Name or service not known
Run Code Online (Sandbox Code Playgroud)

如何定义 telnet 的代理设置?我已经设置了环境变量http_proxyHTTP_PROXY. 还应用了系统范围的代理。

sr_*_*sr_ 24

你可以做浏览器所做的,即连接到代理,

$ telnet proxy-server 3128
Run Code Online (Sandbox Code Playgroud)

并与之交谈。如果没有身份验证,一个简单的GET请求(后跟两个换行符 ( Enter)),带有完整的主机名和协议,例如

GET http://www.google.com/ HTTP/1.1
Run Code Online (Sandbox Code Playgroud)

应该足够了。由于您需要身份验证,因此您需要在Proxy-Authentication标头中提供您的用户名和密码 base64 编码,例如

GET http://www.google.com/ HTTP/1.1
Proxy-Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
Run Code Online (Sandbox Code Playgroud)

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


pra*_*tri 9

您可以为此使用代理链。

首先安装代理链,使用命令:

$ apt-get install proxychains
Run Code Online (Sandbox Code Playgroud)

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

最后添加这些用于 HTTP 和 HTTPS 代理的行。

http    proxy-ip   proxy-port    username        password
https   proxy-ip   proxy-port    username        password
Run Code Online (Sandbox Code Playgroud)

现在您可以使用以下命令执行 telnet 操作:

$ proxychains telnet www.google.com 80
Run Code Online (Sandbox Code Playgroud)