一种识别终端命令行的方法和装置制造方法及图纸

技术编号:3507503 阅读:237 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种识别命令行的方法和装置,特别是涉及一种识别终端命令行的方法和装置。本发明专利技术解决的问题是现有技术中存在的识别的可靠性较差,或实现复杂、成本高、通用性差的缺点。本发明专利技术公开了一种识别终端命令行的方法,包括下列步骤:获取终端与主机之间的输入数据和输出数据;将输出数据通过模拟终端进行模拟,获取输出内容,所述输出内容包括显示内容和终端状态;结合输入数据对输出内容进行识别,得到终端命令行。基于上述方法,本发明专利技术还公开了一种基于上述方法的识别终端命令行的装置。本发明专利技术实现了低成本、高通用性地识别终端命令行,同时确保识别的可靠性。

【技术实现步骤摘要】

本专利技术涉及一种识别命令行的方法和装置,特别是涉及一种识别终端命令行的方法和装置
技术介绍
终端在各类Unix主机和通讯系统中有着广泛的应用,通过终端进行操作和管理具有直接、安全可靠、资源占用小、效率高等优点。终端主要由用于输入的键盘和用于输出的显示器组成,显示器为字符模式,有一定数量的行和列,其本身没有处理能力,仅仅是一种文字模式的输入输出媒介。终端可以是硬件的设备,通过通讯线路与主机系统连接起来;也可以是软件的虚拟终端,例如个人电脑上运行的终端软件,可以通过网络登录到连接的一台或多台主机。终端多与大型的主机系统或核心通讯设备连接,这就对其操作的稳定性和安全性有很高的要求,因此要对用户的终端操作进行审计,并对高危操作的执行进行限制。终端的操作主要分为命令行和实时交互两种方式,对这两种方式进行审计的方法并不相同对实时交互方式可以简单的把终端输出进行回放;对命令行方式,希望能够记录用户执行的每一条命令以及相应的执行结果。而对命令行方式进行审计和限制,首先就必须实现识别命令行。现有的识别命令行的方法有三类第一类的方法是,通过终端方式进行工作,把经过终端的输入数据和输出数据进行记录,需要时对记录进行重放,从中寻找需要的信息和操作。此类方法比较原始,缺点在于只是对终端数据本身进行简单记录和回放,只能看见具体的操作符合,无法直接看到所有命令的列表,审计的效率很低,而且通过上述方法无法实时阻断高危命令。第二类的方法是,在主机的操作系统中安装针对该操作系统的外壳程序,由于该程序是作为操作系统的一部分运行的,所以用户的操作首先通过操作系统的识别和判断,操作系统将用户输入转为系统可执行的操作命令,而操作系统在执行上述命令前,先通过外壳程序把命令行写入日志文件,以便进一步的审计和控制。此类方法的缺点在于需要对主机运行的操作系统进行修改,而且不同的操作系统修改的内容相差很大,因此工作量大、维护复杂,风险较高,实施起来困难很大;当涉及多操作系统时,外壳程序的通用性很低。第三类的方法是,对终端的输出数据经过模拟和转换,得到最终显示的各行文字,然后将显示的文字连接起来写入一个大的文本文件,在各行上寻找主机的命令提示符,如果有提示符就认为该行是一个命令,然后把提示符后的内容作为命令记录下来。此类方法依赖特定的命令提示符,但是由于提示符可以通过操作系统的设置而改变,或有时命令提示符也可能仅仅以文本的形式出现,因此,此类方法的可靠性比较差。在上述方法中,现有技术多采用第二类或第三类方法,所以存在以下的缺点和问题识别的可靠性较差,或实现复杂、成本高、通用性差。可靠性与低成本、高通用性难以同时实现。
技术实现思路
本专利技术所要解决的技术问题是提供一种识别终端命令行的方法,以解决上述现有技术中存在的识别的可靠性较差,或实现复杂、成本高、通用性差的缺点和问题,实现低成本、高通用性同时确保识别的可靠性。本专利技术还提供一种识别终端命令行的的装置。本专利技术提供的识别终端命令行的方法,包括下列步骤获取终端与主机之间的输入数据和输出数据;将输出数据通过模拟终端进行模拟,获取输出内容,所述输出内容包括显示内容和终端状态;结合输入数据对输出内容进行识别,得到终端命令行。通过网络侦听或通讯线路侦听的方法或软件转发的方法获取终端与主机之间的输入数据和输出数据。按照下述步骤结合输入数据对输出内容进行识别 查看输出内容;当输出内容出现命令提示符时,查看是否有输入数据;若有输入数据,则认为输出内容中命令提示符后的显示内容为命令行;当输入数据出现命令确认键、命令执行键或命令取消键时,则认为一个命令行结束。优选的,按照下述步骤结合输入数据对输出内容进行识别建立一个命令库,命令库中包含操作系统所有的命令;查看输出内容;当输出内容出现命令提示符时,查看是否有输入数据;若有输入数据,则将命令提示符后显示内容的第一个字段与命令库中的命令进行匹配;若有可以匹配的命令,则认为命令提示符后的显示内容为命令行;当输入数据出现命令确认键、命令执行键或命令取消键时,则认为一个命令行结束。优选的,按照下述步骤结合输入数据对输出内容进行识别等待输入数据或输出内容;获得当前命令识别状态;当命令识别状态为命令输入状态时,则认为输出内容的显示内容为命令行;当输入数据出现命令确认键、命令执行键或命令取消键时,则认为一个命令行结束。按照下述状态转换步骤获得当前命令识别状态使缺省的状态为程序输出状态;当接收到输入字符时,状态转为命令输入状态,进一步检查输入数据,若输入数据为命令确认字符、命令执行字符或命令取消字符时,状态转为程序输出状态。优选的,按照下述状态转换步骤获得当前命令识别状态使缺省的状态为程序输出状态;当接收到输入字符时,状态转为命令输入状态;在命令输入状态下进一步检查输入数据,若输入数据为帮助字符,状态转为命令提示状态;在命令输入状态下进一步检查输入数据,若输入数据为命令确认字符、命令执行字符或命令取消字符时,状态转为程序输出状态;在命令提示状态下,当输入数据为非帮助字符时,状态转为命令输入状态。优选的,按照下述状态转换步骤获得当前命令识别状态使缺省的状态为程序输出状态;当输出数据为进入交互状态的特征序列时,状态转为交互式应用状态;当接收到输入字符时,状态转为命令输入状态;在命令输入状态下进一步检查输入数据,若输入数据为帮助字符,状态转为命令提示状态;在命令输入状态下进一步检查输入数据,若输入数据为命令确认字符、命令执行字符或命令取消字符时,状态转为程序输出状态;在命令提示状态下,当输入数据为非帮助字符时,状态转为命令输入状态;在交互式应用状态下,当输出数据为退出交互状态的特征序列时,状态转为程序输出状态。所述帮助字符为TAB键或“?”键。所述进入交互状态的特征序列为VT102及兼容终端的设置模式47号,和/或VT102及兼容终端的设置模式1047号,和/或VT102及兼容终端的设置模式1049号,和/或VT100及兼容终端的设置模式1号。所述退出交互状态的特征序列为VT102及兼容终端的清除模式47号,和/或VT102及兼容终端的清除模式1047号,和/或VT102及兼容终端的清除模式1049号,和/或VT100及兼容终端的清除模式1号。本专利技术还公开了一种基于上述方法的识别终端命令行的装置,所述装置包括终端数据捕获装置,负责获取终端与主机之间的输入数据和输出数据;终端模拟装置,输出数据通过模拟终端的模拟,获取输出内容; 命令识别装置,结合输入数据对输出内容进行识别,得到终端命令行。所述命令识别装置包括输出内容判别子装置,查看输出内容,模拟终端的输出内容出现命令提示符时,提示输入判别子装置;输入判别子装置,根据输出内容判别子装置的提示,获取命令行,即提示出现命令提示符且终端有输入时,则认为提示符后的模拟终端的输出内容的显示内容为命令行,当输入数据出现命令确认键、命令执行键或命令取消键时,则认为一个命令行结束。优选的,所述命令识别装置包括命令库,命令库中包含系统所有的命令;输出内容判别子装置,查看输出内容,模拟终端的输出内容出现命令提示符时,提示输入判别子装置;输入判别子装置,根据输出内容判别子装置的提示,获取命令行,即提示出现命令提示符时,则将命令提示符后模拟终端显示的第一个字段与本文档来自技高网
...

【技术保护点】
一种识别终端命令行的方法,其特征在于,包括:获取终端与主机之间的输入数据和输出数据;将输出数据通过模拟终端进行模拟,获取输出内容,所述输出内容包括显示内容和终端状态;结合输入数据对输出内容进行识别,得到终端命令行。

【技术特征摘要】

【专利技术属性】
技术研发人员:施桂琳
申请(专利权)人:杭州奇智信息科技有限公司
类型:发明
国别省市:86[中国|杭州]

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

1
相关领域技术
  • 暂无相关专利