포트 80의 활성 연결 수를 확인 하시겠습니까?


27

웹 서버가 있는데 해당 시간에 서버의 연결 수를 확인해야합니다.

나는 다음을 사용했다

netstat -anp |grep 80 |wc -l

이것은 함께 돌아왔다

2542

하지만 내 Google 분석에서 동시 사용자는 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 ?

을 사용 ss하면 포트를 필터링하고 상태를 좀 더 빠르게 설정할 수 있습니다 ss -nt dport == :80 and state connected.
eckes

연결 수는 사용자 수가 아닙니다. 각 사용자 브라우저는 동시에 여러 연결을 열 수 있습니다. 반대로, 더 드물지만 동일한 프록시를 사용하는 여러 사용자가 하나의 연결을 통해서만 나타날 수 있습니다.
Patrick Mevzek

답변:


50

ESTABLISHED 연결 수를 세어보십시오.

netstat -anp | grep :80 | grep ESTABLISHED | wc -l

또한 포트 grep 문에서 콜론을 사용하지 않도록주의하십시오. 80 만 찾으면 pid와 다른 포트에서 잘못된 결과가 나올 수 있습니다.


5
grep -w 80그 문제를 해결하고 같은 것을 제거 8093합니다.
마이클 햄프 턴

1
네, 그렇습니다. : 80은 아마도 오탐을 일으킬 수 있습니다.
d34dh0r53

@MichaelHampton grep -w 80과 : 80 모두 나가는 http 연결을 계산합니다 (있는 경우). netstat -ntp | awk '{print $ 4}'| grep -w 80. 네, 자전거의 색깔에 너무 신경 쓰고 있습니다 :) :).

이것은 개선되었습니다 .. netstat -an | grep -w 80 | grep -i 설립 | awk { 'print $ 5'} | 컷 -d : -f1 | 정렬 | uniq -c | sort -n
user169015

2

촬영 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

위 내용에 대한 설명이나 의견이 있으면 도움이 되길 바랍니다.

건배,

사람.


1

여러 개의 grep, sed 및 awk를 묶는 것에 대해 걱정하는 대신 IP 주소를 간단히 넣을 수 있습니다.

netstat -anp | grep -c $(hostname -i):80

사용 $(hostname -i)하면 모든 상자, 정적 / 동적 IP 등에서이 명령을 사용할 수 있습니다.


0
ss -tn src :80 or src :443

로컬 포트 ​​80 또는 443에 대한 모든 연결이 표시됩니다 (필요한 경우 포트 추가 / 수정).

면책 조항 : 이것은 오래된 질문이라는 것을 알고 있지만 여전히 Google의 최고 결과이므로 최신 유틸리티를 사용하는 것이 좋습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.