Provavelmente não é prático capturar a saída contínua de ncurses.
Provavelmente você pode tentar obter uma saída semelhante com ntop . É um pouco maior e tem muitos outros recursos, e é "mais bonita".
Eu faço iftop -i eth1 > out.txt
Produz o arquivo com conteúdo de interface do usuário "criptografado", como
[(B[)0[[1;80r[[mO[[?7h[[?1h[=[[H[[J[[0;7mO Listening on eth1 [[1;48H[[mO12.5Kb
É possível exibir isso como uma saída web xhtml de alguma forma?
cat out.txt
no meu console produz uma janela iftop normal, mas quando eu faço a mesma coisa pela web, recebo o conteúdo acima. Eu entendo que é "gerenciado" no nível do kernel. A tarefa que quero realizar é possível?
Provavelmente não é prático capturar a saída contínua de ncurses.
Provavelmente você pode tentar obter uma saída semelhante com ntop . É um pouco maior e tem muitos outros recursos, e é "mais bonita".
O que você chama de "conteúdo criptografado da interface do usuário" são os códigos de controle do terminal que instruem o cursor a se mover para diferentes partes da tela e mudar de cor. Isto é o que faz com que a saída do iftop se pareça mais com uma interface gráfica e não apenas com a rolagem de linhas de texto. Quase todos os programas do console interativo usam esses códigos de terminal.
iftop é projetado para produzir uma exibição "gráfica" interativa, e não parece ser possível desativá-la. Você pode tentar analisá-los e removê-los, mas isso requer um conhecimento detalhado da duração e do significado de cada código de controle, que você pode encontrar on-line, mas provavelmente não vale o esforço.
Você pode literalmente executar iftop dentro de um emulador de terminal Javascript que entende esses códigos de controle e os converte em HTML, como Gate One, Shell em uma caixa ou AjaxTerm. Ele ainda parecerá um aplicativo de console para o usuário, mas não precisará instalar ou executar um cliente SSH.
Você pode querer investigar outras ferramentas. O pmacct , por exemplo, pode coletar informações sobre fluxos, semelhantes a iftop, e armazená-los em um banco de dados SQL ou em uma tabela na memória que você pode consultar usando uma ferramenta de linha de comando. Isso pode gerar a saída que você pode analisar a partir de um aplicativo da web. O servidor pmacct do netgraph escreve esta saída em JSON, para ser interpretado por um cliente javascript executando em um navegador e atualizando ao vivo.
Você também pode ser capaz de hackear o código-fonte iftop para retornar as informações desejadas em um formato mais amigável, como o AJAX.
iftop -t > out.txt
Opção -t faz o trabalho de remover todo o código do terminal
iftop manual diz o seguinte:
-t text output mode
Use text interface without ncurses and print the output to STDOUT.