CN106790412A - 一种Telnet模拟consoled设备的方法及系统 - Google Patents
一种Telnet模拟consoled设备的方法及系统 Download PDFInfo
- Publication number
- CN106790412A CN106790412A CN201611085361.6A CN201611085361A CN106790412A CN 106790412 A CN106790412 A CN 106790412A CN 201611085361 A CN201611085361 A CN 201611085361A CN 106790412 A CN106790412 A CN 106790412A
- Authority
- CN
- China
- Prior art keywords
- telnet
- daily record
- application layer
- kernel
- terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/08—Protocols specially adapted for terminal emulation, e.g. Telnet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种Telnet模拟consoled设备的方法及系统,属于计算机应用技术领域。本发明的方法包括步骤:创建telnet ID信息、超级用户ID信息的链表及共享内存;Telnet进程被拉起后,一旦识别用户登入,发消息给应用层/内核的日志消费者进程;收到Telnet进程发来的消息后,提取超级用户的pid下的伪终端ID,写入共享内存中;应用层/内核的日志生产者进程读取共享内存中的伪终端ID,打开相对应的伪终端并写入日志条目;Telnetd显示应用层/内核的日志和打印消息。本发明的有益效果为:为用户提供良好的网络诊断功能,提供良好的用户体验以及合理交互信息。
Description
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种Telnet模拟consoled设备的方法及系统。
背景技术
目前,市场上的路由器给用户、测试和开发人员提供了Telnet功能,用户通过Telnet达到配置路由器的目的,使他们可以实时配置设备,以及查看路由器当前的工作状态,但是,Telnet工作期间,其只能根据外部的输入指令后才回显信息,不能主动输出应用层和内核内的关键信息,这样就增加了设备的维护难度和维护成本。以上Telnet反映出交互的局限性,迫切需要一种类似串口打印消息类型的功能。
发明内容
为解决现有技术中的问题,本发明提供一种Telnet模拟consoled设备的方法,还提供了一种实现该方法的系统。
本发明Telnet模拟consoled设备的方法,包括如下步骤:
A:开始,创建telnet ID信息的链表,创建telnet超级用户ID信息的链表,创建telnet ID信息的共享内存;
B:Telnet进程被拉起后,一旦识别用户登入,发消息给应用层/内核的日志消费者进程;
C:应用层/内核的日志消费者进程收到Telnet进程发来的消息后,根据pid区分超级用户和普通用户,提取超级用户的pid下的伪终端ID,写入共享内存中;
D:应用层/内核的日志生产者进程读取共享内存中的伪终端ID,打开相对应的伪终端并写入日志条目;
E:Telnetd显示应用层/内核的日志和打印消息。
本发明作进一步改进,还包括步骤F:如果系统发生故障,应用层/内核的日志消费者进程读取故障日志,并将故障日志写入flash存储器,永久保存。
本发明作进一步改进,在步骤B中,Telnet父进程产生子进程,不同子进程下的伪终端与用户客户端进行交互对话,父进程建立会话节点,记录会话的客户端ID和伪终端ID。
本发明作进一步改进,在Telnet父进程产生子进程之前,还包括声明和认证步骤:完成一般用户和超级用户的声明和定义。
本发明作进一步改进,在步骤D中,针对内核日志,内核的日志生产者进程被动等待内核日志的产生,一旦内核日志产生,则实时写入Telnet进程对应的伪终端;针对应用层日志,应用层日志生产者进程编写同一的应用层日志接口,所有应用层的打印消息都会被写入这个应用层日志接口,然后写入Telnet进程对应的伪终端。
本发明还提供了一种实现上述Telnet模拟consoled设备方法的系统,包括创建模块:用于创建telnet ID信息的链表,创建telnet超级用户ID信息的链表,创建telnet ID信息的共享内存;
发消息模块:用于等Telnet进程被拉起后,一旦识别用户登入,发消息给应用层/内核的日志消费者进程;
区分提取模块:用于等应用层/内核的日志消费者进程收到Telnet进程发来的消息后,根据pid区分超级用户和普通用户,提取超级用户的pid下的伪终端ID,写入共享内存中;
写日志模块:用于根据应用层/内核的日志生产者进程读取共享内存中的伪终端ID,打开相对应的伪终端并写入日志条目;
显示打印模块:用于使Telnetd显示应用层/内核的日志和打印消息。
本发明作进一步改进,还包括故障日志存储模块:用于系统发生故障时,应用层/内核的日志消费者进程读取故障日志,并将故障日志写入flash存储器,永久保存。
本发明作进一步改进,在发消息模块中,Telnet父进程产生子进程,不同子进程下的伪终端与用户客户端进行交互对话,父进程建立会话节点,记录会话的客户端ID和伪终端ID。
本发明作进一步改进,还包括data-model模块:完成一般用户和超级用户的声明;认证模块:完成一般用户和超级用户的定义;认证完成的同时,Telnet父进程产生子进程。
本发明作进一步改进,在写日志模块,针对内核日志,内核的日志生产者进程被动等待内核日志的产生,一旦内核日志产生,则实时写入Telnet进程对应的伪终端;针对应用层日志,应用层日志生产者进程编写同一的应用层日志接口,所有应用层的打印消息都会被写入这个应用层日志接口,然后写入Telnet进程对应的伪终端。
与现有技术相比,本发明的有益效果是:为用户提供良好的网络诊断功能,类似于windows系统一样界面信息,提供良好的用户体验以及合理交互信息,如果路由器因为设置错误或者线路异常时,本发明能够用于通知客户路由器上网异常情况,并提出相应的解决建议;非常实用和方便,客户自己可以根据界面提示进行操作,大大降低了设备的维护难度和维护成本。
附图说明
图1为本发明方法流程图;
图2为本发明一实施例方法流程图。
具体实施方式
下面结合附图和实施例对本发明做进一步详细说明。本发明针对telnetd不具备consoled的消息日志打印而设计开发,主要实现了telnetd打印内核和应用层消息,并对关键日志进行备份,工作状态稳定可靠。
如图1所示,本发明Telnet模拟consoled设备的方法,包括如下步骤:
A:开始,创建telnet ID信息的链表,创建telnet超级用户ID信息的链表,创建telnet ID信息的共享内存;
B:Telnet进程被拉起后,一旦识别用户登入,发消息给应用层/内核的日志消费者进程;
C:应用层/内核的日志消费者进程收到Telnet进程发来的消息后,根据pid区分超级用户和普通用户,提取超级用户的pid下的伪终端ID,写入共享内存中;
D:应用层/内核的日志生产者进程读取共享内存中的伪终端ID,打开相对应的伪终端并写入日志条目;
E:Telnetd显示应用层/内核的日志和打印消息;
F:如果系统发生故障,应用层/内核的日志消费者进程读取故障日志,并将故障日志写入flash存储器,永久保存。
其中,本例Telnetd(Telnet daemon):Telnet守护进程服务程序(Telnet服务器,标准端口21),提供Telnet协议虚拟终端服务。Telnet:Telnet协议用户界面(Telnet客户端命令行工具),可能通过此工具登录到Telnet服务器。Consoled具备消息打印功能,一般给系统管理员使用,用户可以在Consoled做系统配置,consoled也相当于控制台和显示器。
如图2所示,作为本发明的一个最佳实施例,本发明的Telnet模拟consoled设备的方法包括以下详细步骤:
步骤A01:创建telnet ID信息的链表;
步骤A02:创建telnet超级用户ID信息的链表;
步骤A03:创建telnet ID信息的共享内存;
执行步骤A01的时候同时执行步骤B01:判断Telnet进程是否被拉起,如果否,结束,如果是,执行步骤B2;
步骤B02:Telnet父进程产生子进程,不同子进程下的伪终端与用户客户端进行交互对话,父进程建立会话节点,记录会话的客户端ID和伪终端ID;
在Telnet父进程产生子进程之前,还包括声明和认证步骤:完成一般用户和超级用户的声明及一般用户和超级用户的定义或设置。
在子进程与用户交互过程中,验证不同用户客户端的登录账户,Telnet父进程发送包含所有用户ID信息的消息到日志消费者进程;同时,判断是否是超级用户(ROOT)登入Telnet,如果是,Telnet子进程发送包含超级用户ID信息的消息到日志消费者进程。
然后日志消费者进程将接收到的消息发送给Telnet守护进程,并执行步骤C01:识别消息类型,如果是某个Telnet伪终端退出,解析ID,此时,ID=(pid);然后将ID信息从telnet ID信息的链表和telnet超级用户ID信息的链表删除。
如果是某个Telnet伪终端被打开,解析ID,此时,ID=(pid,ttyp_id),其中,pid代表telnet进程号,ttyp_id代表此进程打开的伪终端;然后将ID信息插入telnet ID信息的链表。
如果是某个超级用户创建Telnet伪终端,解析ID,此时,ID=(pid),然后将ID信息插入telnet超级用户ID信息的链表。
步骤C02:从telnet ID信息的链表中解析出超级用户ID信息中的ttyp_id信息,然后执行步骤C03;
步骤C03:将超级用户对应的Ttyp_id数组写入共享内存,然后执行步骤D01和步骤D02。
步骤D01:内核的日志生产者进程读取内核日志,然后分别打开Ttyp_id数组中对应的伪终端设备,写入内核日志。其中,本例针对内核日志,内核的日志生产者进程被动等待内核日志的产生,一旦内核日志产生,则实时写入Telnet进程对应的伪终端。
步骤D02:应用层的日志生产者进程打开telnet ID信息的共享内存,写入id数组;开始收集应用层日志,应用层日志生成者进程编写同一的应用层日志接口,然后分别打开Ttyp_id数组中对应的伪终端设备,写入应用层日志。
本例针对应用层日志,应用层日志生产者进程编写同一的应用层日志接口,所有应用层的打印消息都会被写入这个应用层日志接口,然后写入Telnet进程对应的伪终端。
在伪终端设备中写入内核/应用层日志后,发送给Telnet守护进程,Telnet守护进程循环接收伪终端发来的内核/应用层日志,然后执行步骤E:Telnetd显示应用层/内核的日志和打印消息。
此外,本发明还包括步骤F:判断读取的日志严重级别是否是紧急,比如系统发生故障等,如果是,连续写入n条严重级别的日志,保存到fiash(永久保存关键日志信息)。
与上述方法相对应,本发明还提供了一种实现上述Telnet模拟consoled设备方法的系统,包括创建模块:用于创建Telnet ID信息的链表,创建Telnet超级用户ID信息的链表,创建Telnet ID信息的共享内存;
发消息模块:用于等Telnet进程被拉起后,一旦识别用户登入,发消息给应用层/内核的日志消费者进程;
区分提取模块:用于等应用层/内核的日志消费者进程收到Telnet进程发来的消息后,根据pid区分超级用户和普通用户,提取超级用户的pid下的伪终端ID,写入共享内存中;
写日志模块:用于根据应用层/内核的日志生产者进程读取共享内存中的伪终端ID,打开相对应的伪终端并写入日志条目;
显示打印模块:用于使Telnetd显示应用层/内核的日志和打印消息;
故障日志存储模块:用于系统发生故障时,应用层/内核的日志消费者进程读取故障日志,并将故障日志写入flash存储器,永久保存。
此外,在发消息模块中,本例Telnet父进程产生子进程,不同子进程下的伪终端与用户客户端进行交互对话,父进程建立会话节点,记录会话的客户端ID和伪终端ID。本例还包括data-model模块:完成一般用户和超级用户的声明;认证模块:完成一般用户和超级用户的定义;认证完成的同时,Telnet父进程产生子进程。
在写日志模块,针对内核日志,内核的日志生产者进程被动等待内核日志的产生,一旦内核日志产生,则实时写入Telnet进程对应的伪终端;针对应用层日志,应用层日志生产者进程编写同一的应用层日志接口,所有应用层的打印消息都会被写入这个应用层日志接口,然后写入Telnet进程对应的伪终端。
本发明针对日志的消费者无法识别不同权限的telnet使用者的技术问题,通过data-model数据模型定义超级用户,对认证模块识别超级用户后设置data-model的超级用户节点,telnet模块根据超级用户节点,产生独一无二的伪终端ID并发给日志的消费者;同时针对应用层的日志难以收集的技术问题,采取应用层产生的日志同一写入统一个接口的措施,完成应用层日志的收集。
本发明为用户提供良好的网络诊断功能,类似于windows系统一样界面信息,提供良好的用户体验以及合理交互信息,如果路由器因为设置错误或者线路异常时,本发明能够用于通知客户路由器上网异常情况,并提出相应的解决建议;非常实用和方便,客户自己可以根据界面提示进行操作,大大降低了设备的维护难度和维护成本。
以上所述之具体实施方式为本发明的较佳实施方式,并非以此限定本发明的具体实施范围,本发明的范围包括并不限于本具体实施方式,凡依照本发明所作的等效变化均在本发明的保护范围内。
Claims (10)
1.一种Telnet模拟consoled设备的方法,其特征在于,包括如下步骤:
A:开始,创建telnet ID信息的链表,创建telnet超级用户ID信息的链表,创建telnetID信息的共享内存;
B:Telnet进程被拉起后,一旦识别用户登入,发消息给应用层/内核的日志消费者进程;
C:应用层/内核的日志消费者进程收到Telnet进程发来的消息后,根据pid区分超级用户和普通用户,提取超级用户的pid下的伪终端ID,写入共享内存中;
D:应用层/内核的日志生产者进程读取共享内存中的伪终端ID,打开相对应的伪终端并写入日志条目;
E:Telnetd显示应用层/内核的日志和打印消息。
2.根据权利要求1所述的Telnet模拟consoled设备的方法,其特征在于:还包括步骤F:如果系统发生故障,应用层/内核的日志消费者进程读取故障日志,并将故障日志写入flash存储器,永久保存。
3.根据权利要求1或2所述的Telnet模拟consoled设备的方法,其特征在于:在步骤B中,Telnet父进程产生子进程,不同子进程下的伪终端与用户客户端进行交互对话,父进程建立会话节点,记录会话的客户端ID和伪终端ID。
4.根据权利要求3所述的Telnet模拟consoled设备的方法,其特征在于:在Telnet父进程产生子进程之前,还包括声明和认证步骤:完成一般用户和超级用户的声明和定义。
5.根据权利要求1或2所述的Telnet模拟consoled设备的方法,其特征在于:在步骤D中,针对内核日志,内核的日志生产者进程被动等待内核日志的产生,一旦内核日志产生,则实时写入Telnet进程对应的伪终端;
针对应用层日志,应用层日志生产者进程编写同一的应用层日志接口,所有应用层的打印消息都会被写入这个应用层日志接口,然后写入Telnet进程对应的伪终端。
6.一种实现权利要求1-5任一项所述Telnet模拟consoled设备方法的系统,其特征在于包括:
创建模块:用于创建telnet ID信息的链表,创建telnet超级用户ID信息的链表,创建telnet ID信息的共享内存;
发消息模块:用于等Telnet进程被拉起后,一旦识别用户登入,发消息给应用层/内核的日志消费者进程;
区分提取模块:用于等应用层/内核的日志消费者进程收到Telnet进程发来的消息后,根据pid区分超级用户和普通用户,提取超级用户的pid下的伪终端ID,写入共享内存中;
写日志模块:用于根据应用层/内核的日志生产者进程读取共享内存中的伪终端ID,
打开相对应的伪终端并写入日志条目;
显示打印模块:用于使Telnetd显示应用层/内核的日志和打印消息。
7.根据权利要求6所述的系统,其特征在于:还包括故障日志存储模块:用于系统发生故障时,应用层/内核的日志消费者进程读取故障日志,并将故障日志写入flash存储器,永久保存。
8.根据权利要求6或7所述的系统,其特征在于:在发消息模块中,Telnet父进程产生子进程,不同子进程下的伪终端与用户客户端进行交互对话,父进程建立会话节点,记录会话的客户端ID和伪终端ID。
9.根据权利要求8所述的系统,其特征在于:还包括data-model模块:完成一般用户和超级用户的声明;认证模块:完成一般用户和超级用户的定义;认证完成的同时,Telnet父进程产生子进程。
10.根据权利要求6或7所述的系统,其特征在于:在写日志模块,
针对内核日志,内核的日志生产者进程被动等待内核日志的产生,一旦内核日志产生,则实时写入Telnet进程对应的伪终端;
针对应用层日志,应用层日志生产者进程编写同一的应用层日志接口,所有应用层的打印消息都会被写入这个应用层日志接口,然后写入Telnet进程对应的伪终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611085361.6A CN106790412A (zh) | 2016-11-30 | 2016-11-30 | 一种Telnet模拟consoled设备的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611085361.6A CN106790412A (zh) | 2016-11-30 | 2016-11-30 | 一种Telnet模拟consoled设备的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106790412A true CN106790412A (zh) | 2017-05-31 |
Family
ID=58914978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611085361.6A Pending CN106790412A (zh) | 2016-11-30 | 2016-11-30 | 一种Telnet模拟consoled设备的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106790412A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109697192A (zh) * | 2017-10-24 | 2019-04-30 | 龙芯中科技术有限公司 | 伪终端日志文件的保存方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1038217A1 (en) * | 1998-10-14 | 2000-09-27 | Aegis Systems Inc. | System and method of securing a computer from unauthorized access |
CN103176891A (zh) * | 2013-04-02 | 2013-06-26 | 浪潮电子信息产业股份有限公司 | 一种linux下利用内核模块与应用模块结合完成软件日志的方法 |
CN105718171A (zh) * | 2016-01-14 | 2016-06-29 | 广州杰赛科技股份有限公司 | 一种数据处理方法及终端 |
-
2016
- 2016-11-30 CN CN201611085361.6A patent/CN106790412A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1038217A1 (en) * | 1998-10-14 | 2000-09-27 | Aegis Systems Inc. | System and method of securing a computer from unauthorized access |
CN103176891A (zh) * | 2013-04-02 | 2013-06-26 | 浪潮电子信息产业股份有限公司 | 一种linux下利用内核模块与应用模块结合完成软件日志的方法 |
CN105718171A (zh) * | 2016-01-14 | 2016-06-29 | 广州杰赛科技股份有限公司 | 一种数据处理方法及终端 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109697192A (zh) * | 2017-10-24 | 2019-04-30 | 龙芯中科技术有限公司 | 伪终端日志文件的保存方法及装置 |
CN109697192B (zh) * | 2017-10-24 | 2020-12-15 | 龙芯中科技术有限公司 | 伪终端日志文件的保存方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106131057B (zh) | 基于虚拟现实场景的认证和装置 | |
CN107862351A (zh) | 有利于故障解决的方法 | |
CN107273267A (zh) | 基于elastic组件的日志分析方法 | |
CN106487762A (zh) | 用户身份的识别方法、身份识别应用客户端及服务器 | |
Abdulhamid et al. | The Design and Development of Real-Time E-Voting System in Nigeria with Emphasis on Security and Result Veracity | |
CN109471993A (zh) | 在线实时网页取证方法、装置、存储介质及设备 | |
CN107360145A (zh) | 一种多节点蜜罐系统及其数据分析方法 | |
CN107861852A (zh) | 网页错误处理方法、系统及可读存储介质 | |
CN112187585A (zh) | 网络协议测试方法及装置 | |
CN109600336A (zh) | 存储设备、验证码应用方法和装置 | |
CN111934976A (zh) | 基于即时通讯的网络安全监控方法、客户端及系统 | |
CN108521405A (zh) | 一种风险管控方法、装置及存储介质 | |
CN106648125A (zh) | 一种指纹键盘、基于指纹键盘的验证系统及方法 | |
CN109639719A (zh) | 一种基于临时标识符的身份验证方法和装置 | |
CN107409134A (zh) | 法证分析 | |
CN108154020A (zh) | 一种验证码输入和显示方法及设备 | |
CN107196936A (zh) | 接口转发方法、系统、计算机设备和存储介质 | |
CN105592459B (zh) | 基于无线通信的安全认证装置 | |
CN110519280A (zh) | 一种爬虫识别方法、装置、计算机设备及存储介质 | |
CN111833222A (zh) | 移动考试终端、系统和方法 | |
CN103427989A (zh) | 一种面向物联网环境的数据加密和身份认证方法 | |
CN104168117A (zh) | 一种语音数字签名方法 | |
CN103164324A (zh) | 微博测试方法和装置 | |
CN107679400B (zh) | 基于源代码插桩的社交网络安全运行时验证方法及系统 | |
CN106355496A (zh) | 实现批量电子交易的方法、系统和装置以及电子签名工具 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170531 |
|
RJ01 | Rejection of invention patent application after publication |