项目成员





维护: (since 2008)
吴小虎  电子邮件
电话: 13438248566

贡献: (时间顺序)
吴 琨,郑明江,徐志强,吴 政, 张 凌, 刘兴旺,唐 敏, 高 强, 孙继东,刘朝阳,朱 明, 曹 磊, 连建国,兰家福,解敬胜
如有遗漏请告知

开源项目


产品介绍‎ > ‎

终端监控解决方案

Ttyutils 能够截获被监控程序全部的标准输出数据,以及完整的控制被监控程序的标准输入数据。

下图概要说明了 Ttyutils 是如何工作的(点击图片可以放大):

产品功能

终端会话录制回放

通过 Ttyutils 可以将输出到终端上的数据完整地录制到文件中,在以后需要的时候,可以通过专用播放软件来播放这个文件以重现当时的会话情景,在录制时,不会影响终端的正常操作。

录制的文件是经过压缩的,以尽量节省磁盘空间占用,在操作频繁的终端上,每天的录制文件大约在 10M 左右;为了保证录制文件的敏感信息不被恶意窃取,我们将会对录制文件进行加密处理。

播放器软件可以在终端中运行,也可以在图形环境运行,支持 Microsoft Windows 和主流的 UNIX/Linux

终端会话实时监控

通过 Ttyutils 可以让您在自己的电脑上远程的监视和控制其它用户的终端上的操作,您即可以实时的查看其它用户终端上的输出,也可以从自己的电脑上直接输入数据到用户的终端。也就是说,您和其它用户在不同的地方共享了同一个终端。

远程查看终端输出的功能可以用来实时监控用户的行为; 远程操作终端的功能可以用来实现跨终端授权、远程协助等任务。

监控软件可以在终端中运行,也可以在图形环境运行,支持 Microsoft Windows 和主流的 UNIX/Linux。

模拟键盘输入

通过 Ttyutils 可以将预先定义好的数据通过程序输入到被监控的程序,这和用户在键盘上输入的效果一样。

这个功能的可以用来从其它地方获取输入数据来输入到终端中,而不一定非得要从终端输入,例如在交易系统中,用户可以预先在某个设备上填写好自己的交易数据,然后在合适的时候,将这些数据回填到到终端中。客户和操作员协作来完成一笔交易,可以提供工作效率。

这个功能也可以用来实现终端任务自动化,减轻用户的操作强度。

抓取屏幕内容

通过 Ttyutils 可以抓取当前终端屏幕上特定坐标的数据,得到的数据用户可以自行处理,没有任何的限制。

这个功能在不同的场合都有一定的用处,例如将终端屏幕上特定的数据记录到数据库,以便后来进行分析统计,或者将终端屏幕上的特定数据显示在其它的设备上,用作提示,等等。

截获用户按键

通过 Ttyutils 可以截获用户在键盘上输入的所有按键。

这个功能可以用来为现有的系统增加热键以完成特定的功能。截获按键不会影响用户的正常操作。

终端信息提示

通过 Ttyutils 可以将一个预设内容输出到指定终端, 这个内容可能是一条提示信息, 或者是一个可交互的窗口。

这个功能可以用来广播信息,提示用户,等等。

锁定终端键盘

通过 Ttyutils 可以锁定被监控终端的键盘,锁定键盘之后,用户在键盘上输入的数据都不会再传递到程序,直到解除锁定为止。

这个功能可以用来确保某个动作不能被用户完成,例如,在一个 Yes or No 的选择中,操作必须由其它的用户来完成,这个时候可以锁定终端的键盘,然后从其它用户那里取得数据之后通过前面介绍的模拟键盘输入来完成。

锁定终端屏幕

通过 Ttyutils 可以锁定被监控终端的屏幕内容,锁定屏幕之后,屏幕上的内容将不再变化,直到解除锁定为止。

终端外挂程序

通过 Ttyutils 可以针对屏幕内容的特征来触发事件,实现终端外挂。大致上,它通过实时的跟踪分析被监控程序输出到终端屏幕上的数据的特征,来匹配预先定义好的条件,如果得到满足,则会执行一个事件程序。

例如我们可以让 Ttyutils 在屏幕上第 1 行的数据匹配正则表达式 ".*vim.*" 时启动 vim 程序。这里的条件是用户自定义的一个正则表达式,事件程序是 vim,也可以是用户自己编写的任何程序。

这个功能可以在不修改现有业务系统的情形下,为现有的业务系统增加新的功能。

二次开发能力

除了上述功能之外,用户可以基于 Ttyutils 进行二次开发来满足自己特定的需求。Ttyutils 为二次开发准备了丰富的扩展,包括数据库接口、网络接口,等等。用户也可以根据需求添加自己的扩展。

二次开发能力让 Ttyutils 可以快速的适应新的应用环境,这让 Ttyutils 非常灵活,不会限制在某个特定的应用中。

产品优势

成熟稳定

自 2008 年 Ttyutils 投入市场以来,先后在广西、新疆、山西等地的多个大中型项目中得到应用,产品运行稳定,得到了客户的一致好评。

灵活小巧

Ttyutils 实现的非常小巧,不管是安装还是运行,都只占用很少的资源。实践证明,在一台主机中使用 Ttyutils 同时监控成百上千个终端不会有任何的问题。

Ttyutils 可以根据具体的应用场合进行灵活的配置,例如 Ttyutils 自身支持 MySQL、PostgreSQL、SQLLite、ODBC 等多种数据库驱动,但是在特定的应用中,只会使用一种,这可以在编译时告诉 Ttyutils 只编译需要的部分。还有包括系统特征、编程语言等各种各样的配置,能让 Ttyutils 恰当的适应您的环境。

适应能力

Ttyutils 自身作为独立的软件包,可应用到所有以字符终端为接口的操作环境,不依赖具体的业务系统。

Ttyutils 支持多款操作系统,截止目前为止,Ttyutils 在下列的操作系统中稳定的运行:

  • IBM AIX
  • SCO Unix
  • Redhat Enterprise Linux

其中既有 32 位主机,也有 64 位主机。

附件 (2)

  • monitor.dia - 创建时间:2009-9-13 上午8:37,创建者:吴小虎 (版本 2 / 早期版本
    3k 下载
  • monitor.png - 创建时间:2009-9-13 上午8:37,创建者:吴小虎 (版本 2 / 早期版本
    54k 查看 下载