Các tấn công DoS/DDoS bất ngờ vào trang web có thể gây ra thiệt hại với trang web của bạn. Ở bài viết này mình hướng dẫn các bạn cách sử dụng lệnh grep để hiển thị các địa chỉ truy cập vào trang web. Đây cũng là 1 phần giúp các bạn phần nào xác định nguyên nhân gây ra lỗi đồi với trang web của mình.
1. Hiển thị tất cả địa chỉ IP có trong file access log
Đối với Apache :
grep -o "[0-9]+.[0-9]+.[0-9]+.[0-9]+" /var/log/httpd/access_log | sort | uniq
Đối với Nginx :
grep -o "[0-9]+.[0-9]+.[0-9]+.[0-9]+" /var/log/nginx/access.log | sort | uniq
2. Hiển thị các địa chỉ có trong file access log và số lần xuất hiện của chúng
Cách 1 :
Đối với cách này sẽ hiển thị tất các các địa chỉ có trong file access log bao gồm cả các địa chỉ có trong User-Agent
Sắp xếp các địa chỉ theo thứ tự tăng dần
Đối với Apache :
grep -o "[0-9]+.[0-9]+.[0-9]+.[0-9]+" /var/log/httpd/access_log | sort | uniq -c | sort -n
Đối với Nginx :
grep -o "[0-9]+.[0-9]+.[0-9]+.[0-9]+" /var/log/nginx/access.log | sort | uniq -c | sort -n
Sắp xếp các địa chỉ theo thứ tự giảm dần
Đối với Apache :
grep -o "[0-9]+.[0-9]+.[0-9]+.[0-9]+" /var/log/httpd/access_log | sort | uniq -c | sort -nr
Đối với Nginx :
grep -o "[0-9]+.[0-9]+.[0-9]+.[0-9]+" /var/log/nginx/access.log | sort | uniq -c | sort -nr
Cách 2 :
Còn đối với cách này sẽ chỉ hiển thị những địa chỉ IP có ở phần đầu của access log (X-FORWARDED_FOR)
Đối với apache :
awk '{print $1}' /var/log/httpd/access_log | sort | uniq -c | sort -nr
Đối với Nginx :
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr
ONET IDC thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, ONET IDC đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.