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


31

Làm thế nào tôi có thể theo dõi các HTTPyêu cầu đế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 tôi mỗi ngày.

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

netstat -an | grep 80

Câu trả lời:


41

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)'

Đối với một giải pháp sử dụng tsharkxem:

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


Điều đó rất hữu ích. Có một cái gì đó tương tự cho các tin nhắn tiết kiệm?
Darth Egregious

2
Còn https thì sao?
FooBar

7

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


Đối với Ubuntu, đó là: sudo apt cài đặt tcpflow Ngoài ra trên Ubuntu, "eth0" được đặt tên là "ske33". Bạn có thể sử dụng lệnh ifconfig để xem tên của bộ điều hợp ethernet.
nivs1978

5

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.


4

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ý.


0

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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.