CentOS7上报错:telnet:未找到命令;telnet可以做什么?

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: CentOS7上报错:telnet:未找到命令;telnet可以做什么?

背景


当我使用 telnet localhost 2181 命令在虚拟机上测试 ZooKeeper 可用性时,报错:


-bash: telnet: 未找到命令


系统环境


CentOS7 上进行安装,虚拟主机信息如下:

[root@hadoop1 local]# uname -a
Linux hadoop1 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
[root@hadoop1 local]# cat /proc/version
Linux version 3.10.0-1127.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) ) #1 SMP Tue Mar 31 23:36:51 UTC 2020
[root@hadoop1 local]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)


安装telnet命令


# 报错
[root@hadoop6 hbase]# telnet localhost 2181
-bash: telnet: 未找到命令
# 查看是否安装了telnet-server服务
[root@hadoop6 hbase]# rpm -qa telnet-server
# 若没有安装,则先安装telnet-server服务
[root@hadoop6 hbase]# yum install telnet-server
# 再安装telnet
[root@hadoop6 hbase]# yum install telnet
# 再次测试连接ZooKeeper,成功
[root@hadoop6 hbase]# telnet localhost 2181
Trying ::1%1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.


telnet能做什么?


其实, Telnet 可以做很多事情,我们常用的便是:

  • 检查服务是否可以访问
  • 检查域名是否可以解析
  • 检查端口是否开放


扩展1:telnet连接远程Redis服务


image.png

我虚拟机所在的宿主机IP为 10.1.1.30 ,虚拟机与宿主机之间的连接方式为 NAT (Network Address Translation,网络地址转换),顺便插播一道面试题,问:桥接模式与 NAT 模式有何区别?


接下来,我们使用虚拟机中刚安装的 telnet 连接宿主机上运行的一个 Redis 服务(其实,连接其他的任何TCP服务都可以的,比如前面的 ZooKeeper )。

Note:前提是 Redis 允许远程访问,并假设没有密码。

# Redis允许远程访问
#  编辑配置文件:vi redis.conf,注释掉bind,同时将protected-mode由yes改为no
#bind 127.0.0.1 -::1
protected-mode no

image.png


扩展2:telnet连接远程自定义的TCP服务


接下来,我们使用虚拟机中刚安装的 telnet 连接宿主机上运行的一个自己编写的基于 Node.js 的极简 TCP 服务: EchoServer ,即客户端发来什么消息, TCP 服务端便将消息回复回去,这一般在我们学习网络编程时(Java的Socket通信,Mina,Netty以及WebSocket)的入门示例。

image.png

let net = require('net');
let HOST = 'localhost';
let PORT = 8081;
net.createServer(function(socket) {
    console.log('Connected client: ' +
        socket.remoteAddress + ':' + socket.remotePort);
    // const password = Buffer.from('10', 'hex'); // 发送时以16进制编码
    const password = Buffer.from('hi', 'ascii');
    socket.write(password);
    socket.on('data', function(data) {
        console.log('客户端:' + socket.remoteAddress);
        console.log(data.toString());
        const reply = Buffer.from(data);
        socket.write(reply);
        console.log('Reply sended!')
    });
    socket.on('close', function(data) {
        console.log('CLOSED: ' +
            socket.remoteAddress + ' ' + socket.remotePort);
    });
}).listen(PORT);
console.log('Server listening on ' + HOST + ':' + PORT);

通过一张动图来感受下这个 EchoServer ,你发什么它便回复什么。。

image.png


疑问:我要如何退出telnet


如何退出 Vim ?这是每一个第一次误入 vi 后的灵魂之问。在 StackOverflow 上的一个回答曾帮助上百万开发者退出Vim编辑器:stackoverflow.blog/2017/05/23/…

那么如何退出 Telnet ?我在一开始想通过 CTRL+C 退出,但并不可行。其实在 Telnet 客户端连接成功后,有如下一行提示:


Escape character is '^]'.


什么意思呢,就是需要通过 ^]Windows 用户请按键: CTRL + ] )来退出,然后再键入 quit 指令退出 Telnet

目录
相关文章
|
1月前
|
Linux 网络安全
Centos 防火墙端口控制命令
Centos 防火墙端口控制命令
42 3
|
2月前
|
Linux
CentOS 安装rz和sz命令
CentOS 安装rz和sz命令
23 0
|
2月前
|
Linux
Centos7使用man查找命令时,报错No manual entry for xxxx
Centos7使用man查找命令时,报错No manual entry for xxxx
14 0
|
20天前
|
Linux 网络安全 开发工具
Centos6.5安装并配置Telnet服务
该内容是一个关于如何安装配置Telnet服务的教程。首先,通过yum安装vim、xinetd、telnet和telnet-server。接着,修改/etc/xinetd.d/telnet配置文件,将disable改为no,并设置访问限制(如限定特定网段和时间)。关闭防火墙,重启服务。创建测试用户后,分别使用CentOS和Windows的Telnet客户端进行连接测试,显示成功,实验完成。
26 1
|
3天前
|
Linux
Centos 常见的命令
Centos 常见的命令
6 0
|
5天前
|
Web App开发 缓存 运维
CentOS命令大全:从入门到精通
CentOS命令大全:从入门到精通
|
5天前
|
监控 网络协议 Linux
centos常见的命令
【5月更文挑战第8天】了解和掌握基本的CentOS命令对于服务器管理至关重要。本文介绍了19个常用命令,包括`ls`、`cd`、`mkdir`、`rm`、`grep`、`find`、`sudo`、`vi/vim`、`cp/mv`、`du/df`、`history`、`top/htop`、`ps`、`netstat/ss`、`yum/dnf`、`ssh`、`iptables`、`journalctl`、`crontab`和`systemctl`。每个命令都提到了常见问题、使用技巧和避免错误的方法,帮助用户更好地管理和维护CentOS系统。
20 0
|
7天前
|
安全 网络安全 数据安全/隐私保护
ensp中aaa(3a)实现telnet远程连接认证配置命令
ensp中aaa(3a)实现telnet远程连接认证配置命令
|
14天前
|
Linux Shell 数据安全/隐私保护
centos常见的命令
CentOS 是一个基于 Red Hat Enterprise Linux (RHEL) 的免费企业级操作系统。以下是一些基本的 CentOS 命令,用于日常管理和操作:
|
17天前
|
XML 安全 Linux
【Linux】深入探究CentOS防火墙(Firewalld):基础概念、常用命令及实例操作
【Linux】深入探究CentOS防火墙(Firewalld):基础概念、常用命令及实例操作