나는 웹서버를 가지고 있는데, 주어진 시간에 내 서버의 연결 수를 확인해야 합니다.
나는 다음을 사용했다
netstat -anp |grep 80 |wc -l
이것은 다음과 같이 반환되었습니다.
2542
하지만 내 Google Analytics에 따르면 동시 사용자가 100명을 넘지 않는 것으로 알고 있습니다.
is this correct ?
if not how to i get the active number of connections ?
is this sign of a victim of DOS attack how do i know that ?
답변1
설정된 연결 수를 세어보세요.
netstat -anp | grep :80 | grep ESTABLISHED | wc -l
또한 포트 grep 문에 콜론을 사용하지 않도록 주의하세요. 80을 찾는 것만으로도 출력에 문자 80이 있는 pid 및 기타 포트에서 잘못된 결과가 발생할 수 있습니다.
답변2
ss -tn src :80 or src :443
그러면 로컬 포트 80 또는 443에 대한 모든 연결이 표시됩니다(필요한 경우 포트 추가/수정).
면책 조항: 이것이 오래된 질문이라는 것을 알고 있지만 여전히 Google에서는 최고의 결과이므로 최신 유틸리티를 활용하여 답변할 가치가 있다고 생각합니다.
답변3
취득@d34dh0r53한 단계 더 "더"("더 넓은" 관점을 가진 답변을 향해) 대답하면 다음을 사용하여 상태에 따라 정렬된 모든 연결을 확인할 수도 있습니다.
netstat -ant | grep :<port_num> | awk '{print $6}' | sort | uniq -c | sort -n
예를 들어:
netstat -ant | grep :8000 | awk '{print $6}' | sort | uniq -c | sort -n
가능한 출력은 다음과 같습니다.
1 CLOSING
1 established
1 FIN_WAIT2
1 Foreign
2 CLOSE_WAIT
6 FIN_WAIT1
7 LAST_ACK
7 SYN_RECV
37 ESTABLISHED
44 LISTEN
297 TIME_WAIT
도움이 되기를 바라며 위 내용에 대한 자세한 설명 및/또는 의견을 제시해 주시기 바랍니다.
건배,
남자.
답변4
이것은 또한 다음과 같은 현대적인 유틸리티를 사용하여 수행됩니다.ss
예를 들어, 포트 8080에서 설정된 모든 TCP 연결을 얻으려고 시도합니다.
ss -tn src :8080 | grep -i "estab" | wc -l