Linux telnet 命令的使用攻略
简介
telnet
命令是 Linux 系统中常见的远程登录服务器的方式之一,它能够建立与目标主机的 TCP 连接,并通过该连接进行远程操作。使用 telnet
命令需要先在目标主机开启 Telnet 服务,因为该服务虽然方便,但也因为明文传输密码等安全问题而不被建议使用。因此,更加安全的选择是使用 SSH 连接。
使用方法
在使用 Linux telnet 命令之前,我们需要先检查本机是否已安装该命令。可以通过 which
命令来确认:
which telnet
如果系统返回命令的路径则表示系统已经安装了 telnet
命令。如果路径为空,则需要通过系统包管理器进行安装。
建立连接
要建立一个 telnet
连接,我们需要指定要连接的主机 IP 或主机名以及 Telnet 服务的端口号。命令格式如下:
telnet <主机名或 IP> <端口号>
示例:
telnet www.baidu.com 80
该命令将建立与百度网站的 80 端口的 Telnet 连接,可以模拟一个 HTTP 请求。
配置 Telnet
telnet
命令可以设置多种参数来调整连接的方式和参数。在使用 telnet
之前可以通过 man
命令查看所有参数。
man telnet
其中常用参数如下:
-l
:指定用户名;-L
:保持本地与远程网络一致;-r
:不允许乱序;-u
:使用 RFC 854 协议;-v
:启用调试模式;-E
:转义卡格字符。
退出
退出方法有两种:
- 直接按下终止键,即通常情况下我们使用的
Ctrl + ]
。 - 在
telnet
命令界面中输入quit
或exit
命令。
示例
远程登录并进行操作
假设我们要远程登录某台 Linux 服务器,并查看一下该服务器上的 nginx 版本号。该服务器的 IP 是 192.168.0.10
,用户名为 alice
,密码为 mypassword
。假设我们使用 Telnet 服务的默认端口 23。
telnet 192.168.0.10 23
连接成功后,接下来输入用户名和密码登录到远程机器。
Trying 192.168.0.10...
Connected to 192.168.0.10.
Escape character is '^]'.
Username: alice
Password:
然后在远程终端中输入连接的 Linux 命令:
nginx -v
接下来,系统会返回目标机器上的 nginx 版本号。
模拟 HTTP 请求
假设我们要通过 Telnet 命令模拟一个 HTTP 请求。命令格式如下:
telnet <网站域名或 IP> 80
比如我们要请求百度首页,可以执行以下命令:
telnet www.baidu.com 80
接下来模拟请求:
GET / HTTP/1.1
HOST: www.baidu.com
最后,我们可以得到类似于以下的 HTTP 头和内容:
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: no-cache
Content-Length: 27766
Content-Type: text/html
Date: Fri, 11 Sep 2020 09:14:33 GMT
Expires: Fri, 11 Sep 2020 09:14:32 GMT
P3p: CP=" OTI DSP COR IVA OUR IND COM "
Pragma: no-cache
Server: BWS/1.1
Set-Cookie: ...
Set-Cookie: ...
Tracecode: 7302277862008031017282016103075404523908
X-Ua-Compatible: IE=Edge,chrome=1
Connection: keep-alive
这就模拟了一次 HTTP 请求。当然,在实际的应用中更为常见的是使用 curl 或其他网络请求库来实现 HTTP 请求。