Netstat를 사용하여 설정된 스크립트, TIME_WAIT 및 닫힌 대기 연결만 계산합니다.

Netstat를 사용하여 설정된 스크립트, TIME_WAIT 및 닫힌 대기 연결만 계산합니다.

나는 단순히 시스템에 설정된 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'

관련 정보