1. telnet 命令
1.1 telnet 简介
telnet 程序命令是基于 TELNET 协议的远程登录客户端程序,Telnet 是TCP/IP 协议族的成员,是 Internet 远程登录服务的标准协议和主要方式。
telnet 命令通可以来远程登录,或者用来确定远程服务的状态,比如确定远程服务器的某个端口是否能访问。
telnet 命令的使用方式为:
telnet [-8acdEfFKLrx][-b<主机别名>][-e<脱离字符>][-k<域名>][-l<用户名称>][-n<记录文件>][-S<服务类型>][-X<认证形态>][主机名称或IP地址<通信端口>]
- 如果使用命令时不指定端口号,则会使用 telnet 的默认端口号 23
1.2 telnet 命令安装
大部分 Linux 系统会默认安装 telnet 客户端,可以直接使用该命令。
如果使用命令出现如下提示,说明 Linux 系统种没有安装 telnet 服务,需要手动安装后使用。
# 找不到命令服务
[root@VM-0-5-centos ~]# telnet
-bash: telnet: command not found
- 在命令行使用
yum install -y telnet命令既可完成 telnet 客户端的安装
安装完成后直接使用 telnet 命令,或者使用 rpm -qa telnet 检查是否安装 telnet ,输出 telent 信息则已安装
2. telnet 使用
2.1 请求域名或 IP 默认端口
使用 telnet 命令请求服务时,如果不指定端口号,则使用 telnet 请求的默认端口 23
- 请求域名
[root@localhost ~]# telnet www.baidu.com
Trying 103.235.46.40...
- 请求 ip
[root@VM-0-5-centos schedules]# telnet 103.235.46.40
Trying 103.235.46.40...
- 请求服务器时,如果长时间没有结果,则说明请求默认 23 端口是不通的
2.2 请求指定端口
一般服务的 23 端口都不会对外开放,因此使用 telnet 测试连通性时会指定端口号,以验证服务器中该端口是都开放。
- 域名 + 端口号
[root@VM-0-5-centos schedules]# telnet www.github.com 80
Trying 20.205.243.166...
Connected to www.github.com.
Escape character is '^]'.
- ip + 端口号
[root@VM-0-5-centos schedules]# telnet 103.235.46.40 80
Trying 103.235.46.40...
Connected to 103.235.46.40.
Escape character is '^]'.
- 当 telnet 请求返回
Escape character is '^]'.信息时,说明端口是开放的、连通的
3. 检测服务、端口是否联通
对于一个远程的服务器地址,可以在 Linux 系统中通过相关命令测试远程服务器的开放程度,是否允许外部系统进行请求访问。
3.1 ping 命令查询 ip 或域名请求是否连通
- ping 命令可以使用 域名 或 ip
# 网络通
[root@lcdmarket-59f4c6b6d4-vr8hx lcdmarket]# ping www.baidu.com
PING www.a.shifen.com (180.101.49.12) 56(84) bytes of data.
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=1 ttl=49 time=17.6 ms
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=2 ttl=49 time=17.5 ms
[root@lcdmarket-59f4c6b6d4-vr8hx lcdmarket]# ping 180.101.49.12
PING 180.101.49.12 (180.101.49.12) 56(84) bytes of data.
64 bytes from 180.101.49.12: icmp_seq=1 ttl=49 time=17.6 ms
64 bytes from 180.101.49.12: icmp_seq=2 ttl=49 time=17.5 ms
3.2 telnet 命令查询端口是否连通
telnet 命令如果不指定端口号,则默认请求服务的 23 端口,一直显示 Trying ... 则端口不通
# 23 端口不通
[root@lcdmarket-59f4c6b6d4-vr8hx lcdmarket]# telnet 180.101.49.12
Trying 180.101.49.12...
[root@lcdmarket-59f4c6b6d4-vr8hx lcdmarket]# telnet www.sxy.cn 8080
Trying 121.4.53.122...
请求结果显示 Escape character is '^]'. 则表示端口是通的
# 80 端口通
[root@lcdmarket-59f4c6b6d4-vr8hx lcdmarket]# telnet www.baidu.com 80
Trying 180.101.49.11...
Connected to www.baidu.com.
Escape character is '^]'.
[root@lcdmarket-59f4c6b6d4-vr8hx lcdmarket]# telnet 180.101.49.12 80
Trying 180.101.49.12...
Connected to 180.101.49.12.
Escape character is '^]'.