我做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输出?
我的控制台上的cat out.txt确实会产生一个正常的iftop窗口,但是当我在网上做同样的事情时,我会得到上面的内容。我知道它是在内核级别上被“管理”的。我想要执行的任务可能吗?
发布于 2012-05-22 23:48:06
获取连续的ncurses输出可能是不切实际的。
您可能可以尝试使用ntop获得simmilar输出。它更大一些,还有很多其他的功能,而且“更漂亮”。
发布于 2012-08-28 20:52:12
您所称的“加密UI内容”是终端控制代码,指示光标移动到屏幕的不同部分并更改颜色。这使得iftop的输出看起来更像图形界面,而不仅仅是滚动文本。几乎所有的交互控制台程序都使用这些终端代码。
iftop的设计是为了产生一个交互式的,“图形”显示,它似乎不可能关闭这一点。您可以尝试解析和删除它们,但这需要详细了解每个控制代码的长度和含义,您可以在网上找到这些代码,但可能不值得为此付出努力。
您可以在理解这些控制代码并将其转换为HTML的Javascript终端仿真器中运行iftop,例如在Box或AjaxTerm中的Gate、Shell。在用户看来,它仍然像一个控制台应用程序,但是他们不需要安装或运行SSH客户端。
你可能想研究一下其他的工具。例如,帕卡特可以收集有关流的信息,类似于iftop,或者将其存储在SQL数据库中,或者存储在内存表中,您可以使用命令行工具进行查询。这可以生成输出,您可以从web应用程序中解析输出。and的pmacct服务器用JSON编写这个输出,由在浏览器中运行并实时更新的javascript客户端来解释。
您还可以破解iftop源代码,以更好的web友好型格式(如AJAX )返回您想要的信息。
发布于 2015-12-23 09:31:28
iftop -t > out.txt-t选项完成删除所有终端代码的工作。
如果顶部手册上写着:
-t text output mode
Use text interface without ncurses and print the output to STDOUT.https://serverfault.com/questions/391648
复制相似问题