나는 단순히 시스템에 설정된 Time_Wait 및 Closed_Wait 연결 수를 계산하고 이를 터미널에 인쇄하는 스크립트(Perl을 사용하지만 필수는 아님)를 만들려고 합니다. 지금까지 나는 다음을 사용할 수 있다는 것을 발견했습니다.
netstat -ant | awk '{print $6}' | sort | uniq -c | sort -n
모든 연결을 인쇄하려고 하는데 스크립트에서 실행하면 터미널에 인쇄되지 않고 Listen 및 foreign과 같이 내가 찾고 있지 않은 일부 연결도 제공됩니다. 설정됨, Time_Wait 및 Closed_Wait만 표시해야 하는 이유는 스크립트가 모니터에서 사용 중이고 다른 연결 유형이 발생하면 실패하기 때문입니다. 누구든지 제안을 할 수 있나요? 감사해요!
답변1
필요한 상태만 처리하도록 스크립트를 약간 수정할 수 있습니다.
netstat -ant | awk '/ESTABLISHED|LISTEN|CLOSE_WAIT/ {print $6}' | \
sort | uniq -c | sort -n
추가 단계는 를 사용하여 모든 콘텐츠를 검토하는 것입니다 awk
. 예를 들면 다음과 같습니다.
netstat -ant | awk '
/ESTABLISHED|LISTEN|CLOSE_WAIT/ {count[$6]++}
END {
for(s in count) {
printf("%12s : %6d\n", s, count[s]);
}
}'
답변2
행 수를 계산합니다.
netstat -nat | egrep 'ESTABLISHED|TIME_WAIT|CLOSE_WAIT' | wc -l
다음 줄만 인쇄하십시오.
netstat -nat | egrep 'ESTABLISHED|TIME_WAIT|CLOSE_WAIT'