我发誓 X 中曾经有一种方法可以开始将所有终端流量捕获到主机上的文件中。它可能是蜂鸟的扩展,但我认为它是标准的。现在我找不到窍门了。我是产生了幻觉(当你变老时就会发生),还是有可能?

我不是在谈论“T恤”。我希望能够将 xterm 控制序列发送到 stdout,给出文件名,并将窗口中显示的所有内容从那时起保存到文件中(直到发出书挡取消)。

有帮助吗?

解决方案

此功能称为日志记录,存在于源代码中,但出于安全原因,默认情况下处于禁用状态。您是否真的希望每个人都能够将控制序列写入您的终端(例如,您可能有一天 cat 的任何文件的作者)能够写入任意数据在您的帐户下任意命名的文件?

例如,攻击者可以轻松使用此功能修改〜/ .ssh / authorized_keys 以授予攻击者访问权限,并将〜/ .profile 更改为用您的IP地址ping攻击者。

那就是说,如果用 - enable-logging #define ALLOWLOGFILECHANGES 编译xterm,那么根据 Xterm控制序列手册,您将可以访问以下控制序列:

^[[?46h            Start logging
^[[?46l            Stop logging
^[]46;filename\007 Change log file to `filename`

默认情况下,日志文件名称为 Xterm.log.hostname.yyyy.mm.dd.hh.mm.ss.XXXXXX

还可以选择启用管道记录,如果允许通过控制序列更改记录器,这也是非常危险的。这也可以让任何人在你的系统上执行他们的代码。

其他提示

问题比较模糊。

尝试看看:

  1. “ttyrec/ttyplay”用于录制终端会话的文本模式“电影”
  2. 用于记录整个会话的注销标准输出的“屏幕”
  3. “tee”用于记录单个命令的标准输出/标准错误

我对你提出问题的方式感到有点困惑。首先你提到Xterm然后是X然后是终端,你只是想找到“tee”吗? ( man tee )命令?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top