Показать "iftop" в Интернете
Я делаю iftop -i eth1 > out.txt
Он производит файл с "зашифрованным" содержимым пользовательского интерфейса, таким как[(B[)0[[1;80r[[mO[[?7h[[?1h[=[[H[[J[[0;7mO Listening on eth1 [[1;48H[[mO12.5Kb
Можно ли как-то отобразить это как вывод веб-xhtml?
cat out.txt
на моей консоли выдает нормальное окно iftop, но когда я делаю то же самое через Интернет, я получаю содержимое выше. Я понимаю, что это "управляется" на уровне ядра. Возможно ли выполнить задачу, которую я хочу выполнить?
3 ответа
Вероятно, нецелесообразно получать непрерывный вывод ncurses.
Вы, вероятно, можете попытаться получить одинаковый вывод с помощью ntop. Он немного больше, имеет много других функций и "красивее".
То, что вы называете "зашифрованным содержимым пользовательского интерфейса", - это управляющие коды терминала, которые инструктируют курсор перемещаться в разные части экрана и менять цвет. Это то, что делает вывод iftop больше похожим на графический интерфейс, а не просто на прокрутку строк текста. Почти все интерактивные консольные программы используют эти коды терминала.
iftop предназначен для создания интерактивного, "графического" дисплея, и отключить его не представляется возможным. Вы можете попытаться разобрать и удалить их, но для этого требуется детальное знание длины и значения каждого контрольного кода, который вы можете найти в Интернете, но, вероятно, не стоит усилий.
Вы можете буквально запустить iftop внутри эмулятора терминала Javascript, который понимает эти управляющие коды и преобразует их в HTML, такой как Gate One, Shell in a Box или AjaxTerm. Он по-прежнему будет выглядеть как консольное приложение для пользователя, но ему не нужно устанавливать или запускать SSH-клиент.
Возможно, вы захотите исследовать другие инструменты. Например, pmacct может собирать информацию о потоках, аналогичную iftop, и сохранять ее в базе данных SQL или в таблице в памяти, к которой вы можете обращаться с помощью инструмента командной строки. Это может генерировать выходные данные, которые вы можете анализировать из веб-приложения. Сервер pmacct от netgraph записывает эти выходные данные в формате JSON для интерпретации клиентом javascript, работающим в браузере и обновляемым в режиме реального времени.
Вы также можете взломать исходный код iftop, чтобы получить нужную информацию в более удобном для Интернета формате, например, AJAX.
iftop -t > out.txt
опция -t выполняет работу по удалению всего кода терминала
Инструкция iftop гласит следующее:
-t text output mode
Use text interface without ncurses and print the output to STDOUT.