Ttyutils 是一套 UNIX/Linux 终端会话监控软件工具包,也是一个可定制和扩展的平台。通过建立一个伪终端来运行一个程序,Ttyutils 能够截获被监控程序全部的输出数据,以及完整的控制被监控程序的标准输入。
在截获程序的输出数据之后,Ttyutils 可以将这些数据录制到一个压缩和加密的文件中,后续可以通过一个播放器回放来重现当时的会话,或者将这些数据发送给网络上的一个监控客户程序来达到实时终端会话监控的目的。终端会话播放器、实时监控程序默认都包含在 Ttyutils 中,不用额外安装,立即可用。
除此之外,Ttyutils 将利用截获到的数据在内存中建立一个虚拟终端,这个终端的内容总是和用户在屏幕上看到的内容保持一致,它类似于 xterm 这样的终端仿真器,但是在内存中,对用户不可见。用户可以通过在这个内存终端仿真器上设置屏幕特征匹配条件来触发定制的动作,例如当屏幕上第一行中第一列到第十列的内容匹配正则表达式 ‘[0-9a-z].*’ 时,发送一封邮件到某个邮箱,或者弹出一个对话框,等等。触发的动作是用户自己编写的一个程序,它几乎可以干任何它喜欢的事情。
和 telnet,ssh 等软件不同,Ttyutils 不能帮助你登陆到远程的主机,它只能监控已经登陆的终端会话,您可以将 Ttyutils 理解为运行在终端上的外挂软件包。实际上,Ttyutils 在设计上将其定位为二次开发平台,除了基础的文件录制/播放、实时监控功能之外, Ttyutils 提供的功能都服务于二次开发,这导致 Ttyutils 的很多功能难于使用,却无比灵活。我们总是希望 Ttyutils 能够更好的适应不同的应用场合,事实上也确实如此,看似完全没有干系的两个应用,其基础平台都是采用 Ttyutils。这个特点是 Ttyutils 设计上的一个与众不同之处。
Ttyutils 的用法类似于 shell 内置命令 `exec’,所以,Ttyutils 软件包中的主要程序命名为 ttyexec。
初次接触 Ttyutils 的用户可能对上面的描述不甚理解,可以看看终端监控解决方案,如果您对 Ttyutils 的内部原理好奇,可以看看刊登在 IBM DeveloperWorks 中国网站上的 使用 Ttyutils 截获 UNIX/Linux 终端。
特征
适用性
Ttyutils 主要用于以 UNIX/Linux 终端作为用户接口的环境,这包括:
Ttyutils 在实现上是小巧的、稳定的。实践证明,用户在一台 Linux 或者 AIX 主机上运行成百上千个进程,连续工作半年以上不会出现任何问题。Ttyutils 非常快,用户在被监控的终端上操作时感觉不到任何明显的延迟。