내 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
설정되는 변수 입니다. 물론 원하는 숫자를 사용할 수 있습니다.bash
checkwinsize
shopt -s checkwinsize