19
2018
07

telnet命令详解

一、什么是Telnet:

  对于Telnet的认识,不同的人持有不同的观点,可以把Telnet当成一种通信协议,但是对于入侵者而言,Telnet只是一种远程登录的工具。

      一旦入侵者与远程主机建立了Telnet连接,入侵者便可以使用目标主机上的软、硬件资源,而入侵者的本地机只相当于一个只有键盘和显示器的终端而已。

      telnet命令用于登录远程主机,对远程主机进行管理。telnet因为采用明文传送报文,安全性不好,很多Linux服务器都不开放telnet服务,而改用更安全的ssh方式了。

      但仍然有很多别的系统可能采用了telnet方式来提供远程登录,因此弄清楚telnet客户端的使用方式仍是很有必要的。 

  为什么需要telnet?

  telnet就是查看某个端口是否可访问。我们在搞开发的时候,经常要用的端口就是 8080。那么你可以启动服务器,用telnet 去查看这个端口是否可用。

    Telnet协议是TCP/IP协议家族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。

      在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。

      可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。

二、深入理解

1、检查是否安装telnet

     rpm -qa | grep telnet

     telnet-0.17-48.el6.x86_64

     telnet-server-0.17-48.el6.x86_64

     //telnet 是挂在 xinetd 底下的,所以同时查看是否安装了xinetd服务

     rpm -qa | grep xinetd

     xinetd-2.3.14-39.el6_4.x86_64

     //两者都没有的安装的话,yum安装以下服务

     yum install xinetd telnet telnet-server -y

2、配置telnet

     //设置开机启动

     #chkconfig telnet on

     //修改配置文件

     vi /etc/xinetd.d/telnet

     //将”disable= yes”改成” disable=no”

3、激活服务

  由于telnet服务也是由xinetd守护的,所以安装完telnet-server,要启动telnet服务就必须重启xinetd服务

     service xinetd restart 或者/etc/rc.d/init.d/xinetd restart

     systemctl restart xinetd.service

4、iptables防火墙会阻止telnet,所以需要在iptables允许,用如下命令

     //当你启动telnet服务后,你可以用netstat -tunlp命令来查看telnet服务所使用的端口,可以发现有23。使用下面命令开启这些端口:

     iptables -I INPUT -p tcp --dport 23 -jACCEPT

     iptables -I INPUT -p udp --dport 23 -jACCEPT

     service iptables save //保存

     service iptables restart //重启防火墙

     //或者来点狠的!!关闭防火墙!

     service iptables stop

5、使用telnet常用命令

     //格式: telnet ip prot

     telnet 192.168.127.130 6379

6、其他常用的telnet命令功能描述:

Usage: telnet [-4] [-6] [-8] [-E] [-L] [-S tos] [-a] [-c] [-d] [-e char] [-l user]

        [-n tracefile] [-b hostalias ] [-r]

 [host-name [port]]

 

     close  关闭当前连接

     logout  强制退出远程用户并关闭连接

     display 显示当前操作的参数

     mode    试图进入命令行方式或字符方式

     open    连接到某一站点

     quit    退出

     set    设置当前操作的参数

     unset  复位当前操作参数

     status  打印状态信息

     toggle  对操作参数进行开关转换

     slc    改变特殊字符的状态

     auth    打开/关闭确认功能z挂起

     telnetsend    发送特殊字符

     telnetenviron 更改环境变量?显示帮助信息

   选项

     -8:允许使用8位字符资料,包括输入与输出;

     -a:尝试自动登入远端系统;

     -b<主机别名>:使用别名指定远端主机名称;

     -c:不读取用户专属目录里的.telnetrc文件;

     -d:启动排错模式;

     -e<脱离字符>:设置脱离字符;

     -E:滤除脱离字符;

     -f:此参数的效果和指定"-F"参数相同;

     -F:使用Kerberos V5认证时,加上此参数可把本地主机的认证数据上传到远端主机;

     -k<域名>:使用Kerberos认证时,加上此参数让远端主机采用指定的领域名,而非该主机的域名;

     -K:不自动登入远端主机;

     -l<用户名称>:指定要登入远端主机的用户名称;

     -L:允许输出8位字符资料;

     -n<记录文件>:指定文件记录相关信息;

     -r:使用类似rlogin指令的用户界面;

     -S<服务类型>:设置telnet连线所需的ip TOS信息;

     -x:假设主机有支持数据加密的功能,就使用它;

     -X<认证形态>:关闭指定的认证形态。

7、测试

[root@d002 ~]# netstat -tnl

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address           Foreign Address         State

tcp        0      0 0.0.0.0:23              0.0.0.0:*               LISTEN

tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN

tcp6       0      0 :::22                   :::*                    LISTEN

tcp6       0      0 ::1:25                  :::*                    LISTEN

               我们先来查看TCP的23端口是否开启正常 

               [root@localhost ~]#netstat -tnl |grep 23 

                tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN 

               如果上面的一行存在就说明服务已经运行了。如果netstat命令没有返回内容,我们就只好继续进行更深入的配置了。

 

8、错误解决

       //如果使用telnet命令有以下提示:

        -bash: telnet: command not found

        //请检查是否缺少安装telnet包

        //安装:

        yum install -y telnet

9、退出telnet命令

          后来找到了正确的命令 ctrl+] ,然后在telnet 命令行输入 quit  就可以退出了

原文链接:https://www.qiquanji.com/post/8752.html

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

gzh

微信扫码关注

更新实时通知

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。