Telnet协议分析

最近要写一个专门针对华为交换机的Telnet客户端,所以得对Telnet协议有所理解和分析。

 

前言

       传输单位:字节(8bit)。

       为了解决异构环境,比如不同OS的通信,采用了NVT(Net Virtural Terminal)的机制。客户端把传输的数据转换成NVT格式在网络上传输,服务器接收到NVT格式的数据转换成可以识别的数据。

 

Telnet主要传输两部分内容:数据和命令。

       数据部分每个字节以0开头的ASCII码。

        命令部分以IAC(编码255 0xff   interpret as command)开始,最高位是1

 

协商选项举例:

客户端 发送<IAC DO ECHO>

服务端 回应<IAC WILL ECHO>

包括三个部分,第一部分IAC表示命令行,第二部分协商选项DO(WILL WONT DONT),第三部分操作选项。

 

附录

1  telnet传输数据的状态

enum _state
{
  state_data,   //下一个状态为数据
  state_code,   //下一个状态为命令字
  state_option  //下一个状态为协商选项
};

2 telnet的命令字

#define NUL     0
#define BEL     7
#define BS      8
#define HT      9
#define LF     10
#define VT     11
#define FF     12
#define CR     13
#define SE    240
#define NOP   241
#define DM    242
#define BRK   243
#define IP    244
#define AO    245
#define AYT   246
#define EC    247
#define EL    248
#define GA    249
#define SB    250
#define WILL  251
#define WONT  252
#define DO    253
#define DONT  254

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值