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

관련 정보