들어오는 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: .*'
인용하다
답변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의 트래픽을 모니터링합니다.