Formação de saída do iptables e monitor em tempo real

0

As regras do meu iptables consistem em algumas entradas longas, por exemplo LOG target, isso está causando uma saída não muito boa quando tento monitorá-lo com o comando watch .

Desde que eu estou testando em lap-top, a tela não é tão larga. Então, o que eu pensei, é possível excluir a última coluna da exibição? Este é um exemplo de como minhas regras se parecem:

$IT -A tcpLog -p tcp --tcp-flags SYN,ACK SYN,ACK -m conntrack --ctstate NEW -j LOG --log-prefix "[BAD TCP]" --log-level warning -m limit --limit 10/m
$IT -A tcpLog -p tcp --tcp-flags FIN,ACK FIN -j LOG --log-prefix "[BAD TCP]" --log-level warning -m limit --limit 10/m
$IT -A tcpLog -p tcp --tcp-flags ACK,PSH PSH -j LOG --log-prefix "[BAD TCP]" --log-level warning -m limit --limit 10/m

Então, como eu excluiria a última coluna, que exibe, neste caso, o prefixo de log e as informações relacionadas?

Além disso, eu monitorei como watch -n 1 iptables -L -nv Obrigado

    
por fugitive 22.12.2016 / 21:51

1 resposta

0

Veja como excluir a última coluna de uma saída:

my_command | awk '{ $NF="" } 1'

Pessoalmente, prefiro truncar a saída para uma largura específica, com um dos seguintes comandos:

my_command | pr -t -W "$COLUMNS"
my_command | cut -c "-$COLUMNS"

Aqui COLUMNS é uma variável definida por bash para a largura do seu terminal quando a opção checkwinsize está ativada ( shopt -s checkwinsize ). Você pode, claro, usar qualquer número de sua escolha.

    
por 23.12.2016 / 01:47