如何使用高速SPI以太网控制芯片W5200登录Telnet服务器

Home / 博客 / 如何使用高速SPI以太网控制芯片W5200登录Telnet服务器

Telnet的应用不仅方便了我们进行远程登录,也给hacker们提供了又一种入侵手段和后门,但无论如何,在你尽情享受Telnet所带给你的便捷的同时,你是否真正的了解Telnet呢?那么就让我们来认识一下远程登录。

今天我们就给大家介绍下Telnet,通过使用W5200E01-M3登录Telnet服务器。

当使用Telnet时可以控制直接与W5200E01-M3的GPIO端口相连接的LED3和4,除此之外没有别的关于Telnet的系统。第一部分我们主要讲给大家阐述一下Telnet一些功能,第二、三部分给大家分析一些基于IAR编译器的代码例子。

我们知道Telnet服务器软件是我们最常用的远程登录服务器软件,是一种典型的客户机/服务器模型的服务,它应用Telnet协议来工作。那么,什么是Telnet协议?它都具备哪些特点呢?

1. 基本内容

Telnet(teletype network)是位于OSI模型的第7层—应用层上的一种协议,是一个通过创建虚拟终端提供连接到远程主机终端仿真的TCP/IP协议。这一协议需要通过用户名和口令进行认证,是Internet远程登陆服务的标准协议。应用Telnet协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。它提供了三种基本服务:1)Telnet定义一个网络虚拟终端为远程系统提供一个标准接口。客户机程序不必详细了解远程系统,他们只需构造使用标准接口的程序;2)Telnet包括一个允许客户机和服务器协商选项的机制,而且它还提供一组标准选项;3)Telnet对称处理连接的两端,即Telnet不强迫客户机从键盘输入,也不强迫客户机在屏幕上显示输出。

Telnet作为一种标准的网络协议被广泛的应用于客户/服务器应用编程中,越来越多的浏览器引进很多的便捷功能,应用Telnet已经显得越来越重要了。Telnet也是很多个人电脑和多用户帐号远程连接的一种工具,用户可以在家里,办公室或者任何一个地方连接Telnet服务器。

 

2. 网络虚拟终端NVT(Net Virtual Terminal)

总体来说,对于用户来说远程连接Telnet服务器相当复杂因为计算机和OS(操作系统)接受特殊字符的组合作为标记,这个特殊字符的组合是根据OS的不同,Telnet定义了一个叫做NVT(网络虚拟终端)接口来解决这个问题。通过使用这个接口,Telnet客户端转换从本地终端NVT格式输入的的字符组合,并把它发送到网络。然后Telnet服务将接收到的NVT格式字符器转换成远程计算机可以接受和阅读的格式,图2给出了这个过程。

 

 

 

 

NVT使用两种字符组合:数据使用和用于远程控制使用。NVT数据使用通常是NVT ASCII码。 NVT ASCIII是一个8位的字符组合,较低的7bits是美国ASCII相同,最高位为0。最高位可以是1或0的情况下,它是1。 Telnet客户端和服务器之间的选项协商,必须事先定义。

当发送用于进入特殊键的远程控制字符,设置连接,改变状态之前,NVT进行远程控制使用一个8位的控制字符的最高位设置为1,发送IAC(中断命令,值为0xFF )使用TCP。因此,当收到IAC 字符后接收到会被识别成是远程控制字符。

表1 NVT控制字符

 

 

 

 

 

 

 

 

 

 

 

 

3.Telnet 中断选项

如前所述,当使用Telnet服务之前或者之后,客户端和服务器之间的选项都可以协商,下表列出了一些常用的选项。Telnet选项被定义为的Telnet的第一版本的一部分,并在许多RFC文档中进行了补充。

使用各种选择的telnet客户端和服务器之间的选项协商是必要的,如表2所示。4个控制字符(WILL, WONT, DO, and DON’T)是用于协商的选项。

 

 

 

 

 

 

 

为了激活选项,发送器发送WILL命令,询问:“我可能会激活此选项吗 ” 然后,接收器将发送DO命令,意思是接受了或发送DON’T命令,这意味着拒绝。激活选项的另一种方式是发送DO命令,意思是“激活此选项, ”接收器会发回将WILL命令或WONT命令。

停用选项的过程如下,发射机发送WONT命令,意思是“我不会再使用这个选项。然后,接收器将发回DO命令接受或DONT命令拒绝。

 

 

 

 

 

 

 

4.Telnet操作模式

Telnet的大多数业务处理3种模式:一般模式,字符模式和行模式。

一般模式:当不从协商选项中选定字符或者行模式的时候,这种模式的基本模式。在这种模式下,客户端呼应所有输入字符,直到一条线完成后再发送。

当所有的行发送到服务器,客户端等待GA命令直到一个新的命令接受了。当TCP连接的时候这种模式可能无效,因为TCP连接是全双工的,而一般的Telnet是在半双工运作。

字符模式:在这种模式下,客户端输入的每个字符都是被独立地发送到服务器。服务器通常允许客户端的屏幕上出现回声字符。在这种模式下,可能会出现一些延迟回声字符的这时传输速度也会变慢。

行模式:行模式弥补了一般模式和字符模式的缺陷。在这种模式下,客户端可能进行行编辑(删除字符,删除行等),然后它们被发送到服务器。行模式运行在全双工模式下,行可以被发送而没有收到GA命令。