인용하다

인용하다

들어오는 HTTP포트 요청을 모니터링하는 방법은 무엇입니까 80? DynDNS내 로컬 컴퓨터에서 웹 호스팅을 사용하고 설정했습니다 Nginx.내 서버가 하루에 받는 요청 수를 알고 싶습니다.

현재 나는 다음 명령을 사용하고 있습니다.

netstat -an | grep 80

답변1

당신은 그것을 사용할 수 있습니다 tcpdump.

# tcpdump filter for HTTP GET 
sudo tcpdump -s 0 -A 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'

# tcpdump filter for HTTP POST 
sudo tcpdump -s 0 -A 'tcp dst port 80 and (tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354)'

사용할 솔루션은 tshark다음을 참조하세요.

https://serverfault.com/questions/84750/monitoring-http-traffic-using-tcpdump

답변2

나는 들어오는 요청을 확인하기 위해 aws 인스턴스를 사용해 왔습니다 tcpflow. 어쩌면 매일 요청을 집계하는 방법이 있을 수도 있습니다.

1단계 - 설치

# yum install --nogpgcheck http://pkgs.repoforge.org/tcpflow/tcpflow-0.21-1.2.el6.rf.x86_64.rpm

2단계 - 포트 80에서 GET/POST 요청 추적

# tcpflow -p -c -i eth0 port 80 | grep -oE '(GET|POST|HEAD) .* HTTP/1.[01]|Host: .*'

인용하다

https://github.com/simsong/tcpflow

답변3

서버에 로그 파일이 켜져 있습니까? 이렇게 하려면 AwStats를 설치하고 이를 사용하여 로그 파일을 실행하여 정확한 보고를 받는 것이 좋습니다.

들어오고 나가는 모든 트래픽을 모니터링하려는 경우 WireShark를 사용할 수 있습니다.

답변4

이것을 실행

while true
do
echo -----`date '+%r'` -----:
netstat -ant | grep :8080 | awk '{print $6}' | sort | uniq -c | sort -n
echo httpd processes: [`ps aux | grep httpd | wc -l`]
echo .
sleep 2
done

2초마다 포트 8080의 트래픽을 모니터링합니다.

관련 정보