可以先从telnet的百度百科了解什么是telnet.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。
远程登录的工作过程

使用 Telnet 协议进行远程登陆时需要满足以下条件:在本的计算机上必须装有包含 Telnet 协议的客户程序;必须知道远程主机的 Ip 地址或域名;必须知道登录标识与口令。  

   Telnet 远程登录服务分为以下 4 个过程:  

1 )本地与远程主机建立连接。该过程实际上是建立一个 TCP 连接,用户必须知道远程主机的 Ip 地址或域名;  

2 )将本地终端上输入的用户名和口令及以后输入的任何命令或字符以 NVT Net Virtual Terminal )格式传送到远程主机。该过程实际上是从本地主机向远程主机发送一个 IP 数据包;  

   3 )将远程主机输出的 NVT 格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果;  

4 )最后,本地终端对远程主机进行撤消连接。该过程是撤销一个 TCP 连接。  上面的内容只是讨论了远程登陆最基本的东西,其中的复杂和编程人员的艰辛是我们难以想象的,不知道你在舒服的使用 Telnet 的同时,是否想到了这些!

Linux telnet 服务的搭建

 

telnet-server-0.17-25.i386.rpm (服务端软件,在第三张镜像盘)
telnet-0.17-25.i386.rpm (客户端软件,在第一张镜像盘)
[root@localhost root]# rpm -qa|grep telnet
// 查看 telnet 是否安装
[root@localhost root]# mount /dev/cdrom /mnt/cdrom
// 把第一张光盘插入,然后挂载 CD-ROW 标准设备光盘
[root@localhost root]# cd /mnt/cdrom/RedHat/RPMS/
// 切换到软件包所在目录 /mnt/cdrom/RedHat/RPMS 目录中
[root@localhost RPMS]# ls -l|grep telnet
// 显示所有文件详细信息,经管道过滤 , 只显示含有 telnet 相关的软件包。
[root@localhost RPMS]# rpm -ivh telnet-0.17-25.i386.rpm
// rpm 命令安装用进度条显示安装进程
[root@localhost RPMS]# cd
// 切换到 root 主目录中,如果在挂载点目录下卸载挂载目录,会显示设备忙,无法卸载。
[root@localhost root]# umount /mnt/cdrom
// 卸载 /mnt/cdrom 挂载点设备光盘
[root@localhost root]# mount /dev/cdrom /mnt/cdrom
// 插入第三张镜像盘,用 mount 命令挂载 CD-ROW 光盘设置
[root@localhost root]# cd /mnt/cdrom/RedHat/RPMS/
// 切换到软件包存放目录
[root@localhost RPMS]# ll |grep telnet
// 显示文件详细信息,经管道过滤只显示包含 telnet 的软件包
[root@localhost RPMS]# rpm -ivh telnet-server-0.17-25.i386.rpm
// rpm 命令安装,用进度条显示详细内容
[root@localhost RPMS]# cd
// 切换到 root 主目录
[root@localhost root]# vi /etc/xinetd.d/telnet
// 打开编辑配置文件超级服务目录下的 telnet 配置文件
service telnet
{
        flags           = REUSE
        socket_type     = stream // 插座类型 泛指流媒体技术
        wait            = no // 是否等待,为 no
        user            = root // 用户是 root 超级用户
        server          = /usr/sbin/in.telnetd // 超级用户启动服务器
        log_on_failure  += USERID // 登录失败返回用户的执行者识别编号
        disable         = no // 是否为禁用
}
[root@localhost root]# service xinetd restart
// 修改文件以后重新启动超级服务,让修改配置生效。
C:\Documents and Settings\Administrator>telnet 172.19.22.100
// 开始 运行 —cmd( win+R--cmd) ,输入: telnet 172.19.22.100 测试
Red Hat Linux release 9 (Shrike)
Kernel <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />2.4.20-8 on an i686
login: root // 用超级用户 root 登录
Password: // 输入 root 超级用户密码
Login incorrect  // 登陆失败
login: user // 用普通用户 user 登陆
Password: // 输入 user 用户的密码
Last login: Fri Apr 16 15:21:02 from 172.19.22.100 // 登陆成功
[user@localhost user]$ su - // 切换到 root 用户
Password: // 输入 root 用户密码
[root@localhost root]# pwd
// 显示当前路径,和 linux 下的超级终端是一样的。
[root@localhost root]# service iptables restart
// 启动防火墙,在来测试一下 telnet 是否能登录
[root@localhost root]# netstat -tlna|grep 23
// 显示所以的 tcp 协议端口,经管道过滤,只显示 23 端口
tcp        0      0 0.0.0.0:23              0.0.0.0:*               LISTEN
[root@localhost root]# iptables -I INPUT -p tcp --dport 23 -j ACCEPT
// 开放防火墙的 23 端口
[root@localhost root]# vi /etc/services
// 打开编辑配置文件目录下的 services ,将默认的 23 端口,改为预设端口: 4570
[root@localhost root]# service xinetd restart
// 重新启动 xinetd 超级服务
[root@localhost root]# iptables -I INPUT -p tcp --dport 4570 -j ACCEPT
// 让防火墙开放设置 tcp 协议 4570 端口
C:\Documents and Settings\Administrator>telnet 172.19.22.100 4570
// 在命令提示输入 telnet 命令跟 IP 地址在跟刚才设置的端口号: 4570
Red Hat Linux release 9 (Shrike)
Kernel 2.4.20-8 on an i686
login: user
Password:
Last login: Fri Apr 16 16:47:44 from 172.19.22.84
[user@localhost user]$ su -
Password:
[root@localhost root]# netstat -tan|grep 4570
// 显示所以的 tcp 协议端口,经管道过滤只显示 4570 端口
tcp        0      0 0.0.0.0:4570            0.0.0.0:*               LISTEN
tcp        0      2 172.19.22.100:4570      172.19.22.84:4916       ESTABLISHED
 
 
 
哈哈...好久没有发表文章了。。网速太慢登不了。。。