在我们眼中黑客们都是相当神秘的,他们似乎可以隔空取物,在不知名的地方远程操控我们的电脑。那么,Telnet服务就可以完成最简单入侵手段。不少朋友对此似乎并不是很了解,那么就会有所疑问,telnet到了别人的服务器里面了之后!可以做些什么?要用什么命令?
Telnet简介
Telnet用于Internet的远程登录.它可以使用户坐在已上网的电脑键盘前通过网络进入的另一台电脑已上网的电脑,使它们互相连通.这种连通可以发生在同一房间里面的电脑或是在世界各范围内已上网的电脑.习惯上来说,被连通计算机,并且为网络上所有用户提供服务的计算机称之为服务器(Servers),而自己在使用的机器称之为客户机(Customer).一旦连通后,客户机可以享有服务器所提供的一切服务.用户可以运行通常的交互过程(注册进入,执行命令),也可以进入很多的特殊的服务器如寻找图书索引.网上不同的主机提供的各种服务都可以被使用.
使用Telnet的最简单的方法是在命令行键入:
%telnet remote-computer-name(or IP)
这里使用的是UNIX系统的C shell,因为命令的选择是百分号"%".如果使用的是其他的计算机系统(比如os,VAX/VMS,Macintosh)命令,只在细节上有些差异,而在本质上是大同小异的,下面举一个基本的Telnet服务使用例子:
telnet porky.math.ukans.edu
Trying 129.237.128.11...
Connected to porky.math.ukans.edu.
Escape character is '^]'.
SunOS UNIX(porky)
login:wl
passwordxxxxxx
Last Login: Tue Mar 28 05:35 from ns.bta.net.cn
SunOS Release 4.1.3_U1(SLIPPERY1) #3: Sun Nov 20 23:47:23 CST 1999
No match.
if:Expression syntax.
porky/serv/wl%ls
hello
porky/serv/wl%
porky/serv/wlí/
porky/%ls
Mail/ dev/ home/ mnt/ sbin/
usr/
News/ domain/ home1/ net/ serv/
var/
Record/ etc/ kadb* pcfs/ sys@
vmunix*
bin@ export/ lib@ print tmp/
boot gofer/ lost+found/ record tmp_mnt/
porky/%
上述的例子是用Telnet服务寻找一个叫做porky.math.ukans.edu的远程计算机.在找到这台计算机以后,已上网的拥护的计算机就成为它的一个终端.这时屏幕出现的对话与用户在host上连接的终端一样.用户必须注册进入(login)和注销推出(logout).在login后,可给出任何适合远程系统的命令,因为"porky.math.ukans.edu"面向的是UNIX系统,所有标准的UNIX命令(想ls和pwd)都可以使用.当用户从远程系统退出时,也就从Telnet退出,便可以运行自己的本地系统.实际上,Telnet是一个可以注册进入远程计算机系统的工具.
Telnet服务的工作方法
当开始运行Telnet时,情况如何呢?一个应用系统由两部分组成:"client"——这就是Telnet简介所说的客户机,另一部分是"server"——这是运行于网络计算机上提供服务的系统,称之为服务器.而网络(即使用TCP也使用UDP的服务器)则是提供两者(Clinet与Server)通信的工具.
这里要求客户机必须做到:
(1)建立一个网络与服务器间的TCP连接
(2)以方便的方式接收输入
(3)对某些标准的格式化输入作重新格式化并作重新格式化并传送给服务器.
(4)以某些标准的格式化从服务器中接受输出
(5)重新格式化显示给自己的输出
服务器软件是运行于主机上提供服务的系统,如果没有运行服务系统,也就不能提供相应的服务.
某一类服务被调用,它就可以:
(1)通知网络软件,让它准备连接;
(2)等待一个标准的格式化要求的产生;
(3)服务请求;
(4)传送一个标准格式的结果给客户;
(5)重新等待
一个服务器应该能够处理各种客户,有的是运行在同类的电脑上的,而有的是运行在 IBM / PCs , Macintoshes , Amigas等各种不同的机器上.为了做到这一点,服务器必须具有一套通信规则,这种规则通常叫做协议.由于Telnet服务用于两个应用层之间所以叫做应用层协议.任何人都可以在任何类型的电脑上编制一个客户机.只要这个客户机可以上网通讯并遵守协议,他就可以进入服务器.实际上也就是说,用户的 Macintosh可以使用Telnet和其他的的Internet的工具,从而能让很多不同的系统为其工作.
就使用来说,一个应用层协议通常允许客户机和服务器有不同的数据设定,并通告客户机和服务器使用相互的通信方式.这些经常是有每行在开始的几个字节的文本程序来完成的.如果服务器发送一个以"TXT"字符开头的行命令给客户, "TXT" 后边其他的数据就被送入屏幕显示.如果一行的开始是以"CMD"开始,则表明这些信息是从服那么这行务软件到客户软件.使用者是看不到这些的,这是因为在信息传送到时这些控制信号已去掉了.