[发明专利]一种Telnet代理转发机制有效
| 申请号: | 201410308090.0 | 申请日: | 2014-06-30 |
| 公开(公告)号: | CN104065732A | 公开(公告)日: | 2014-09-24 |
| 发明(设计)人: | 吴克河;崔文超;卻鑫运 | 申请(专利权)人: | 江苏华大天益电力科技有限公司 |
| 主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/24 |
| 代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 王云 |
| 地址: | 212000 江苏省镇江市句*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 telnet 代理 转发 机制 | ||
技术领域
本发明涉及一种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)当接到回车指令时,调用vt100line来判断buffer的含义,解析出正确的命令;
(2)调用命令过滤模块,判断是否允许执行该命令,如果允许调用proxy_data_write,将解析出的正确命令发送给监控程序,如果不允许,给客户端转发不允许执行命令的信息,给服务器转发ctrl+c,不让服务器执行这条命令;
(3)Thread_loop循环处理所有的读写事件,直到socket连接关闭。
本发明技术方案的进一步限定为,所述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三个函数来释放掉相关资源。
进一步地,所述socket连接线程建立连接步骤具体为:
(1)socket连接线程调用函数pthread_mutex_lock和pthread_mutex_unlock来进行互斥操作,然后给客户端发user和password提示符,提示用户输入用户名和密码,再调用函数get_remote_line;
(2)当用户输入时,解析这个输入,将信息转换成telnet的格式,再调用parse_iac2函数,判断通信双方协商的状态;
(3)得到有效的用户名和密码后,调用proxy_auth_check来验证是否正确,如果不正确,直接断开telnet连接,如果正确,则调用socket和connect函数连接到真正的服务器。
进一步地,所述socket连接线程转发信息步骤具体为:
(1)socket线程调用函数device_login_loop跟服务器进行通信,然后调用thread_loop函数处理所有的读写事件,如果有事件发生,则根据序号对每个事件分别进行处理;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏华大天益电力科技有限公司,未经江苏华大天益电力科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410308090.0/2.html,转载请声明来源钻瓜专利网。





