一种Telnet代理转发机制制造技术

技术编号:10459201 阅读:162 留言:0更新日期:2014-09-24 14:46
本发明专利技术公开一种Telnet代理转发机制,包括主进程完成状态的初始化并建立连接线程步骤和连接线程建立连接并转发消息步骤,还包括socket连接线程对转发数据的监控步骤,具体为:(1)当接到回车指令时,调用函数解析出正确的命令;(2)调用命令过滤模块,判断是否允许执行该命令,如果允许将解析出的正确命令发送给监控程序,如果不允许,给客户端转发不允许执行命令的信息;(3)Thread_loop循环处理所有的读写事件,直到socket连接关闭。本发明专利技术对TELNET会话命令分析、会话监测、切断、回放功能,在运维过程中实现了事前预防、事中干预和事后分析处理,在一定程度上帮助企业提升内部风险控制水平。

【技术实现步骤摘要】
一种Te I net代理转发机制
本专利技术涉及一种Telnet代理转发机制,具体涉及一种对会话进行监测的Telnet 代理转发机制。
技术介绍
Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和 主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电 脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这 些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制 服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的 远程控制Web服务器的方法。Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆 服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。 在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程 序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以 在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。 Telnet是常用的远程控制Web服务器的方法。 然而通过Telnet协议链接设备是明文传送的,具有很大的安全隐患。因此要求我 们在代理转发的同时,也要有相应的TELNET会话命令分析、会话监测、切断、回放的过程。
技术实现思路
专利技术目的:本专利技术目的在于针对现有技术的不足,提供一种有相应的TELNET会话 命令分析、会话监测、切断、回放的过程的Telnet代理转发机制。 技术方案:本专利技术所述一种Telnet代理转发机制,在服务器和客户端之间建立 Telnet转发机制,包括Telnet会话主进程完成状态的初始化并建立socket连接线程步骤 和socket连接线程建立连接并转发消息步骤,还包括socket连接线程对转发数据的监控 步骤,具体为: (1)当接到回车指令时,调用vtlOOline来判断buffer的含义,解析出正确的命 令; (2)调用命令过滤模块,判断是否允许执行该命令,如果允许调用proxy_data_ write,将解析出的正确命令发送给监控程序,如果不允许,给客户端转发不允许执行命令 的信息,给服务器转发ctrl+c,不让服务器执行这条命令; (3)Thread_loop循环处理所有的读写事件,直到socket连接关闭。 本专利技术技术方案的进一步限定为,所述Telnet会话主进程完成状态的初始化并 建立socket连接步骤具体方法为: (1)调用 proxy_mod_init,proxy_session_init,proxy_data_init 三个函数来初 始化程序的模式、会话、数据信息,并完成互斥操作初始化及处理信号操作; [0011 ] (2)调用socket函数创建socket,并调用bind, listen来绑定地址及监听端口; (3)监听是否有新的socket连接请求,如果有新的连接请求,则调用accept函数 接受请求,并创建一个新线程来处理这个连接请求; (4)当主线程要结束时,调用 proxy_mod_destroy, proxy_session_ destroy, proxy_data_destroy三个函数来释放掉相关资源。 进一步地,所述socket连接线程建立连接步骤具体为: (1) socket 连接线程调用函数 pthread_mutex_lock 和 pthread_mutex_unlock 来 进行互斥操作,然后给客户端发user和password提示符,提示用户输入用户名和密码,再 调用函数 get_remote_line ; (2)当用户输入时,解析这个输入,将信息转换成telnet的格式,再调用parse_ iac2函数,判断通信双方协商的状态; ⑶得到有效的用户名和密码后,调用proxy_auth_check来验证是否正确,如果 不正确,直接断开telnet连接,如果正确,则调用socket和connect函数连接到真正的服 务器。 进一步地,所述socket连接线程转发信息步骤具体为: (1) socket线程调用函数deVice_l〇gin_l〇〇p跟服务器进行通信,然后调用 threacLloop函数处理所有的读写事件,如果有事件发生,则根据序号对每个事件分别进行 处理; (2)处理过程调用handle_message函数,首先调用recv函数来接收buffer,之后 判断发信息者的socket类型,如果是客户端所发,则判断buffer命令的类型,并赋予相应 的标识位,之后把buffer转发给服务器。 进一步地,上述Telnet转发机制的会话过程中,对命令的解析采用如下方法: (1)初始化一个有效的待解匹配的终端控制码表; (2)对缓冲区的字符逐个进行解析,当解析的字符匹配了某个终端控制码后,就按 照相应的终端控制码的功能对输出缓冲区进行处理; (3)如果当前处理的字符不是控制码,则将其记录到输出缓冲区中; (4)当输入缓冲区处理完成之后,根据当前输出缓冲区以及光标的位置输出有效 的命令内容。 有益效果:本专利技术提供的一种Telnet代理转发机制,现了在运维人员对目标服务 器进行运维操作中,对TELNET会话命令分析、会话监测、切断、回放功能,这样在运维过程 中实现了事前预防、事中干预和事后分析处理。本专利技术会嵌入到运维审计的堡垒机中,在一 定程度上帮助企业提升内部风险控制水平。 【附图说明】 图1为本专利技术提供的telnet会话代理模块的结构示意图; 图2为本专利技术提供的Telnet代理转发机制的工作流程图; 图3为本专利技术提供的Tlenet代理转发机制中会话解析算法的流程图。 【具体实施方式】 下面通过附图对本专利技术技术方案进行详细说明,但是本专利技术的保护范围不局限于 所述实施例。 实施例1 :Telnet是一种较简单的远程登录协议,它的整个过程不需要加密,但是 应用相当广泛,可以工作在任何主机或任何终端之间,这其中是靠 NVT(网络虚拟终端)来 实现。NVT是虚拟设备,连接的双方,即客户机和服务器,都必须把他们的物理终端和NVT进 行相互转换。 术语NVT ACSII代表7比特的ACSII字符集。每个7比特的字符都以8比特格式 发送,最高位比特为0。Telnet通信时,要发送字节Oxff,这个字节叫做IAC (作为命令来解 释)。 在Telnet连接时,双方首先进行交互的信息是选项协商数据。选项协商是对称 的,也就是说任何一方都可以主动发送选项协商请求给对方。对于任何给定的选项,连接的 任何一方都可以发送下面4种请求的任意一个请求:(l)will :发送方本身将激活(enable) 选项(2) do :发送方想叫接收端激活选项(3) wont :发送方本身想禁止选项(4) don't :发送 方想让接收端去禁止选项。选项协商需要3个字节:一个IAC字节,接着一个字节是will,本文档来自技高网...

【技术保护点】
一种Telnet代理转发机制,在服务器和客户端之间建立Telnet转发机制,包括Telnet会话主进程完成状态的初始化并建立socket连接线程步骤和socket连接线程建立连接并转发消息步骤,其特征在于,还包括socket连接线程对转发数据的监控步骤,具体为:(1)当接到回车指令时,调用vt100line来判断buffer的含义,解析出正确的命令;(2)调用命令过滤模块,判断是否允许执行该命令,如果允许调用proxy_data_write,将解析出的正确命令发送给监控程序,如果不允许,给客户端转发不允许执行命令的信息,给服务器转发ctrl+c,不让服务器执行这条命令;(3)Thread_loop循环处理所有的读写事件,直到socket连接关闭。

【技术特征摘要】
1. 一种Telnet代理转发机制,在服务器和客户端之间建立Telnet转发机制,包括 Telnet会话主进程完成状态的初始化并建立socket连接线程步骤和socket连接线程建立 连接并转发消息步骤,其特征在于,还包括socket连接线程对转发数据的监控步骤,具体 为: (1) 当接到回车指令时,调用vtlOOline来判断buffer的含义,解析出正确的命令; (2) 调用命令过滤模块,判断是否允许执行该命令,如果允许调用proxy_data_write, 将解析出的正确命令发送给监控程序,如果不允许,给客户端转发不允许执行命令的信息, 给服务器转发ctrl+c,不让服务器执行这条命令; (3) Thread_loop循环处理所有的读写事件,直到socket连接关闭。2. 根据权利要求1所述的一种Telnet代理转发机制,其特征在于,所述Telnet会话主 进程完成状态的初始化并建立socket连接步骤具体方法为: (1) 调用 proxy_mod_init,proxy_session_init,proxy_data_init 三个函数来初始化 程序的模式、会话、数据信息,并完成互斥操作初始化及处理信号操作; (2) 调用socket函数创建socket,并调用bind, listen来绑定地址及监听端口; (3) 监听是否有新的socket连接请求,如果有新的连接请求,则调用accept函数接受 请求,并创建一个新线程来处理这个连接请求; (4) 当主线程要结束时,调用proxy_mod_destroy, proxy_ session-destroy, proxy- data_destroy三个函数来释放掉相关资源。3. 根据权利要求1所述的一种Telnet代理转发机制,其特征在于,所述socket连接线 程建立连接步骤具体为: (1 )sock...

【专利技术属性】
技术研发人员:吴克河崔文超卻鑫运
申请(专利权)人:江苏华大天益电力科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1