이 간단한 명령을 사용하여 데비안 서버에서 연결을 모니터링합니다 (최근 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 초마다 동일한 출력을 제공합니다