it-mot-dan-vi.com

Cách theo dõi các yêu cầu http đến

Làm cách nào tôi có thể theo dõi các yêu cầu HTTP đến cổng 80? Tôi đã thiết lập lưu trữ web trên máy cục bộ của mình bằng cách sử dụng DynDNSNginx. Tôi muốn biết có bao nhiêu yêu cầu được thực hiện trên máy chủ của mình mỗi ngày.

Hiện tại tôi đang sử dụng lệnh này:

netstat -an | grep 80
32
user7044

Bạn có thể sử dụng 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)'

Để biết giải pháp sử dụng tshark xem:

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

44
nad

Tôi đã sử dụng tcpflow để kiểm tra các yêu cầu đến trong các trường hợp aws, có thể có một cách để tổng hợp các yêu cầu hàng ngày.

BƯỚC 1 - cài đặt

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

BƯỚC 2 - theo dõi các yêu cầu GET/POST tại cổng 80

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

Tài liệu tham khảo

https://github.com/simsong/tcpflow

7
prayagupd

Bạn có bật tệp nhật ký cho máy chủ của mình không? Nếu bạn làm như vậy, tôi khuyên bạn nên cài đặt AwStats và chạy các tệp nhật ký của mình với nó để có được báo cáo chính xác.

Nếu bạn muốn chỉ giám sát tất cả lưu lượng đến/đi, bạn có thể sử dụng WireShark.

5
djsumdog

Bạn cũng có thể theo đuôi tệp nhật ký:

tail -f /path/to/access_log

Tham số -f sẽ khiến đuôi liên tục cập nhật màn hình khi các mục mới được ghi vào nhật ký.

4
Dave

Chạy cái này

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

Nó sẽ giám sát lưu lượng trên cổng 8080 cứ sau 2 giây

0
vsingh