功能简介
telnet 命令通常用来远程登录。telnet是基于TELNET协议的远程登录客户端程序。Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的 能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个 telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。
telnet因为采用明文传送报文,安全性不好,很多Linux服务器都不开放telnet服务,而改用更安全的ssh方式了。但仍然有很多别的系统可能采用了telnet方式来提供远程登录,因此弄清楚telnet客户端的使用方式仍是很有必要的。
telnet命令还可做别的用途,比如:测试远程服务的状态,测试远程服务器的某个端口是否能访问
默认使用 23 端口
基础用法示例
操作步骤
- 先输入
telnet www.baidu.com 80
- 出来
Escape character is '^]'.
提示符,输入GET /index.html HTTP/1.1
后再输入2
次回车(注意:一定是 2 次,原因:http协议)
$ telnet www.baidu.com 80
Trying 14.215.177.39...
Connected to www.baidu.com.
Escape character is '^]'.
GET /index.html HTTP/1.1
HTTP/1.1 302 Moved Temporarily
Date: Thu, 14 Sep 2017 03:48:57 GMT
Content-Type: text/html
Content-Length: 215
Connection: Keep-Alive
Location: http://www.baidu.com/search/error.html
Server: BWS/1.1
X-UA-Compatible: IE=Edge,chrome=1
BDPAGETYPE: 3
Set-Cookie: BDSVRTM=0; path=/
<html>
<head><title>302 Found</title></head>
<body bgcolor="white">
<center><h1>302 Found</h1></center>
<hr><center>pr-nginx_1-0-350_BRANCH Branch
Time : Wed Sep 6 17:05:55 CST 2017</center>
</body>
</html>
Connection closed by foreign host.
命名详解
命名格式
telnet [参数] [主机]
- 测试主机名对应的 ip
$ telnet www.baidu.com
Trying 14.215.177.38...
- 测试端口服务
telnet 192.168.1.201 80
Trying 192.168.1.201...
Connected to 192.168.1.201.
Escape character is '^]'.
- 测试http连接URL
telnet 192.168.1.201 80
Trying 192.168.1.201...
Connected to 192.168.1.201.
Escape character is '^]'.
GET / HTTP/1.1
Host:www.xx.com
HTTP/1.1 200 OK
Server: nginx/1.8.1
Date: Thu, 14 Sep 2017 05:06:12 GMT
Content-Type: text/html; charset=utf-8,gbk
Content-Length: 20952
Connection: keep-alive
Last-Modified: Tue, 18 Apr 2017 12:55:01 GMT
ETag: "51d8-54d706a7ace3b"
Accept-Ranges: bytes
Vary: Accept-Encoding
cache-control: max-age=1800
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
......
注意
- GET 和 HTTP必须大写,因为很多服务器要求大写,小写在一些服务器会造成连接失败。
- 若使用
HTTP1.1
,需要加上Host
的 Header 头,原因:Http1.1
协议的要求,否则会返回HTTP/1.1 400 Bad Request
,示例如下:
GET /index.html HTTP/1.1
Host: www.test.local
有时候还需要在 Header
中加入 User-Agent
,例如
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.110 Safari/537.36