我愿意iftop -i eth1 > out.txt
它确实会生成带有“加密”UI 内容的文件,例如
[(B[)0[[1;80r[[mO[[?7h[[?1h[=[[H[[J[[0;7mO Listening on eth1 [[1;48H[[mO12.5Kb
是否有可能以某种方式将其显示为 web xhtml 输出?
cat out.txt
在我的控制台上确实会产生一个正常的 iftop 窗口,但是当我在网络上做同样的事情时,我会得到上面的内容。我知道它是在内核级别上“管理”的。我想执行的任务是否可行?
获取连续的 ncurses 输出可能不切实际。
您可以尝试使用ntop获得类似的输出。它有点大,还有许多其他功能,而且它“更漂亮”。
您所说的“加密的 UI 内容”是指示光标移动到屏幕不同部分并改变颜色的终端控制代码。这就是使 iftop 的输出看起来更像图形界面而不仅仅是滚动文本行的原因。几乎所有交互式控制台程序都使用这些终端代码。
iftop 旨在生成交互式“图形”显示,似乎无法将其关闭。您可以尝试解析和删除它们,但这需要详细了解每个控制代码的长度和含义,您可以在网上找到这些信息,但可能不值得付出努力。
您可以在理解这些控制代码并将它们转换为 HTML 的 Javascript 终端仿真器中运行 iftop,例如 Gate One、Shell in a Box 或 AjaxTerm。对于用户来说,它仍然看起来像一个控制台应用程序,但他们不需要安装或运行 SSH 客户端。
您可能想研究其他工具。例如, pmacct可以收集有关流的信息,类似于 iftop,并将其存储在 SQL 数据库或内存表中,您可以使用命令行工具查询该表。这可以生成您可以从 Web 应用程序解析的输出。netgraph 的pmacct 服务器以 JSON 格式写入此输出,由在浏览器中运行并实时更新的 javascript 客户端解释。
您还可以破解 iftop 源代码,以更适合 Web 的格式(例如 AJAX)返回您想要的信息。
-t 选项执行删除所有终端代码的工作
iftop 手册说如下: