모니터링 서버 연결 - Netstat 형식 문제

모니터링 서버 연결 - Netstat 형식 문제

최근 서버에 문제가 생겼습니다. 그래서 연결된 장치의 고유성과 IP를 보여주는 창을 남겨두고 싶습니다.

나는 다음을 사용해왔다:

watch -n 5 "netstat -tn 2>/dev/null | grep :80 | awk '{print $5}' | sed 's/.*::ffff://' | sort | uniq -c | sort -nr"

다음은 포맷 실패 시 출력의 예입니다. 예 이것은 형식이 지정되지 않은 Netstat 예입니다. 여기에 이미지 설명을 입력하세요. 혼란스러운 이유는 awk '{print $5}'다섯 번째 열만 인쇄하곤 했기 때문입니다.

포인트가 있는 시계를 사용하려고 하는데 뭔가 서로 맞지 않아서 그런 것 같아요.

누구든지 하나의 라이너에 대한 조정을 제안할 수 있거나 서버에 대한 활성 연결을 모니터링하기 위한 다른 도구를 제안할 수 있습니까(로컬 연결에는 관심 없음)

답변1

나는 노력할 것이다

... | awk '$5 ~ /:80$/ { split($5,A,":") ; if ( !u[A[1]]++ ) print A[1] ;} '

포트 80에서 원격 IP를 필터링해야 합니다.

  • 필요 없음 grep | awk | sed! !
  • $5 ~ /:80$/80으로 끝나는 다섯 번째 필드를 필터링합니다.
  • !u[A[1]]++한 번만 유효합니다.
  • split()IP가 켜지고 A[1]포트가 켜집니다 A[2](적어도 순수 IPV4의 경우).

시계 등을 취급

while true
do
  netstat -tn 2>/dev/null | awk '$5 ~ /:80$/ { split($5,A,":") ; if ( !u[A[1]]++ ) print A[1] ;} '
  sleep 5
done

관련 정보