Netstat 연속 새로 고침 (시계 출력 변경) 물론 주어진 시간) 새로 고쳐집니다. 나는

이 간단한 명령을 사용하여 데비안 서버에서 연결을 모니터링합니다 (최근 DoS 공격을 처리하기 위해).

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

지속적으로 실행하려면 어떻게합니까? 따라서 분당 한 번 (또는 물론 주어진 시간) 새로 고쳐집니다. 나는 시계를 시도했다 :

watch -n 30 "netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n"

그러나 연결 수가 많은 멋진 목록의 출력을 다음과 같이 변경했습니다.

1 tcp        0  10015 [LOCAL IP]
...
1 Proto Recv-Q Send-Q Local Address           Foreign Address         State
1 Active Internet connections (w/o servers)

따라서 외부 IP가 표시되지 않습니다. 내가 놓친 것이 있습니까?

원래 출력 결과는 다음과 같습니다.

  2 [IP ADDRESS]
  4 [IP ADDRESS]
  4 [IP ADDRESS]
  4 [IP ADDRESS]
  7 [IP ADDRESS]
 16 [IP ADDRESS]
 71 [IP ADDRESS]

그리고 말할 때 [LOCAL IP]내 컴퓨터의 IP를 의미합니다.

내가 그것을 실행하면 -c그냥 멈 춥니 다.



답변

netstat -c

문제를 오해하지 않은 경우 도움이 될 수 있습니다. -c는 –continuous를 나타냅니다.

편집 : 거기에 간다 :

watch -n 30 "netstat -ntu | awk '{print \$5}' | cut -d: -f1 | sort | uniq -c | sort -n"

$ 전에 \를 추가했습니다.


답변

60 초 동안 잠든 while 루프를 실행하십시오.

[root@host] $ while true
> do
> netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
> sleep 60
> done

60 초마다 동일한 출력을 제공합니다


답변