iptables出力フォーマットとリアルタイムモニタリング

iptables出力フォーマットとリアルタイムモニタリング

私のiptablesルールにはfe targetという長いエントリが含まれており、LOGコマンドを使用して監視しようとすると結果が悪くなりますwatch

ノートパソコンでテストしてみると、画面がそれほど広くはありません。それで、最後の列をマークから除外することは可能ですか?私のルールのいくつかの例は次のとおりです。

$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

それでは、この場合、最後の列、ログプレフィックス、および関連情報が表示されないようにどのように除外できますか?

また監視させていただきます。watch -n 1 iptables -L -nv ありがとうございます。

ベストアンサー1

出力の最後の列を除外する方法は次のとおりです。

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

個人的には、次のいずれかのコマンドを使用して出力を特定の幅にカットすることを好みます。

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

オプション ON( ) 時端子幅を基準にCOLUMNS設定される変数です。もちろん、必要な数字を使用できます。bashcheckwinsizeshopt -s checkwinsize

おすすめ記事