Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。
最初是由ARPANET开发的,但是现在它主要用于Internet会话。它的基本功能是,允许用户登录进入远程主机系统。起初,它只是让用户的本地计算机与远程计算机连接,从而成为远程主机的一个终端。它的一些较新的版本在本地执行更多的处理,于是可以提供更好的响应,并且减少了通过链路发送到远程主机的信息数量。
Telnet的应用不仅方便了我们进行远程登录,也给黑客们提供了又一种入侵手段和后门。
使用Telnet协议进行远程登录时需要满足以下条件:在本地计算机上必须装有包含Telnet协议的客户程序;必须知道远程主机的Ip地址或域名;必须知道登录标识与口令。
Telnet远程登录服务分为以下4个过程:
1)本地与远程主机建立连接。该过程实际上是建立一个TCP连接,用户必须知道远程主机的Ip地址或域名;
2)将本地终端上输入的用户名和口令及以后输入的任何命令或字符以NVT(Net Virtual Terminal)格式传送到远程主机。该过程实际上是从本地主机向远程主机发送一个IP数据包;
3)将远程主机输出的NVT格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果;
4)最后,本地终端对远程主机进行撤消连接。该过程是撤销一个TCP连接。
Telnet是位于OSI模型的第7层---应用层上的一种协议,是一个通过创建虚拟终端提供连接到远程主机终端仿真的TCP/IP协议。这一协议需要通过用户名和口令进行认证,是Internet远程登陆服务的标准协议。应用Telnet协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。它提供了三种基本服务:
1)Telnet定义一个网络虚拟终端为远程系统提供一个标准接口。客户机程序不必详细了解远程系统,他们只需构造使用标准接口的程序;
2)Telnet包括一个允许客户机和服务器协商选项的机制,而且它还提供一组标准选项; .
3)Telnet对称处理连接的两端,即Telnet不强迫客户机从键盘输入,也不强迫客户机在屏幕上显示输出。
Telnet在Win7以前的系统中只要打开服务管理找到Telnet服务项设置其启动类型为“手动”或者“自动”,然后启动该服务即可。不过在Win7系统的服务管理器中我们找不到Telnet服务,也许是出于安全考虑,Win7系统默认状态下没有安装Telnet服务。如果我们需要在Win7中使用Telnet服务,需要手动设置一下。
在Win7系统中安装和启动Telnet服务非常简单:依次点击“开始”→“控制面板”→“程序”,“在程序和功能”找到并点击“打开或关闭Windows功能”进入Windows 功能设置对话框。找到并勾选“Telnet客户端”和“Telnet服务器”,最后“确定”按钮,稍等片刻即可完成安装。
Win7系统的Telnet服务安装完成后,默认情况下是禁用的,还需要启动服务。点击Win7桌面左下角的圆形开始按钮,在Win7的万能搜索框中输入“服务”,从搜索结果中点击“服务”程序,进入Win7的服务设置,在Win7的服务项列表中找到telnet,可以看到它的状态是被禁用的。双击Telnet项或者从右键菜单选择“属性”,将“禁用”改为“手动”。回到服务项列表,从Telnet的右键菜单中选择“启动”。这样Win7系统的Telnet服务就启动了。
1、点击计算机的开始菜单--》运行 ,输入CMD命令,然后确定。打开cmd命令行。
2、输入telnet测试端口命令: telnet IP 端口 或者 telnet 域名 端口。回车。如果端口关闭或者无法连接,则显示不能打开到主机的链接,链接失败;端口打开的情况下,链接成功,则进入telnet页面(全黑的),证明端口可用。
3、Telnet 客户端命常用命令:
open : 使用 openhostname 可以建立到主机的 Telnet 连接。
close : 使用命令 close 命令可以关闭现有的 Telnet 连接。
display : 使用 display 命令可以查看 Telnet 客户端的当前设置。
send : 使用 send 命令可以向 Telnet 服务器发送命令。支持以下命令:
ao : 放弃输出命令。
ayt : “Are you there”命令。
esc : 发送当前的转义字符。
ip : 中断进程命令。
synch : 执行 Telnet 同步操作。
brk : 发送信号。
上表所列命令以外的其他命令都将以字符串的形式发送至 Telnet 服务器。例如,sendabcd 将发送字符串 abcd 至 Telnet 服务器,这样,Telnet 会话窗口中将出现该字符串。
quit:使用 quit 命令可以退出 Telnet 客户端。
4、windows7无法启动Telnet服务,出现错误1068
打开服务器上的shell窗口,按以下步骤操作:
1.执行命令:sudo apt-get intall xinted telnetd //安装telnet软件包,sudo命令需输入当前用户密码
2.安装成功后系统有相应提示。执行命令:sudo vi /etc/inetd.conf //打开telnet配置文件(没有的话可新建)
注:有的版本vi 命令不能用,可以先安装:sudo apt-get install vim.即可。或者使用:sudo gedit /etc/inetd.conf, 也可进入编辑窗口。
3.在编辑窗口里对照下面的代码,添加进红色的部分,然后保存关闭编辑窗口。
# Simple configuration file for xinetd
# Some defaults, and include /etc/xinetd.d/
defaults
{
# Please note that you need a log_type line to be able to use log_on_success
# and log_on_failure. The default is the following :
# log_type = SYSLOG daemon info(插入红色部分)
<span style="background-color: rgb(51, 255, 51);"> <span style="color:#FF0000;">instances = 60
log_type = SYSLOG authpriv
log_on_success = HOST PID
log_on_failure = HOST
cps = 25 30</span></span>
}
includedir /etc/xinetd.d
4.
sudo vi /etc/xinetd.d/telnet 进入编辑窗口,添加以下红色部分。
<span style="background-color: rgb(51, 255, 51);"> <span style="color:#FF0000;"># default: on
# description: The telnet server serves telnet sessions; it uses \
# unencrypted username/password pairs for authentication.
service telnet
{
disable = no
bind =219.228.57.4
only_from=219.228.1.0/24
#上面这两行说明仅提供内部网段!
Instance =UNLIMITED
Nice =0
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}</span></span>
5. 重启:
sudo restart or 重启网络服务:
sudo /etc/init.d/xinetd restart 即可使用非root用户登录。
telnet是ubuntu自带的一个简单的远程登录工具。但使用起来还不是非常方便。只能做一些简单的操作命令。使用putty软件更方便。具体安装如下:
sudo apt-get install openssh-server
由于默认Ubuntu采用UTF-8的字符集,所以putty需要做一些设置: 点击左边的 Windows -> Appearance 设置 Font settings ,点击 Change... 按钮选择为 仿宋体 或者 新宋体。 点击左边的 Windows -> Translation 设置 Character set translation 为 UTF-8 。然后,点击 Open 连接服务器即可。