it-swarm-tr.com

Gelen http istekleri nasıl izlenir

80 Numaralı bağlantı noktasına gelen HTTP isteklerini nasıl izleyebilirim? DynDNS ve Nginx kullanarak yerel makinemde web hosting ayarladım. Her gün sunucumda kaç istek yapıldığını bilmek istedim.

Şu anda bu komutu kullanıyorum:

netstat -an | grep 80
32
user7044

tcpdump kullanabilirsiniz.

# 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 kullanan bir çözüm için bkz:

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

44
nad

Aws örneklerinde gelen istekleri kontrol etmek için tcpflow kullanıyorum, belki de günlük olarak istekleri toplamanın bir yolu var.

ADIM 1 - kurulum

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

2. ADIM - 80 numaralı bağlantı noktasında GET/POST isteklerini izleyin

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

Referans

https://github.com/simsong/tcpflow

7
prayagupd

Sunucunuz için açık günlük dosyalarınız var mı? Bunu yaparsanız, doğru raporlar almak için AwStats'ı yüklemenizi ve günlük dosyalarınızı çalıştırmanızı öneririm.

Tüm gelen/giden trafiği izlemek istiyorsanız WireShark'ı kullanabilirsiniz.

5
djsumdog

Günlük dosyasını da kuyruğa alabilirsiniz:

tail -f /path/to/access_log

-F parametresi, günlüğe yeni girdiler yazılırken kuyruğun ekranı sürekli güncellemesine neden olur.

4
Dave

Bunu çalıştır

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

8080 bağlantı noktasındaki trafiği her 2 saniyede bir izleyecektir

0
vsingh