netstat -an | grep -o '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}' | sort -n| uniq -c | sort -n
--> xem ip với nhiều request
netstat -ant | grep SYN
--> request với syn
csf -d xxxx.xxxx.xxxx.xxx
---block ip
- Kiểm tra số connection trên port 80:
- Kiểm tra số lượng connection đang ở trạng thái SYN_RECV:Mã:netstat -n | grep :80 |wc -l
- Hiển thị tất cả các IP đang kết nối và số lượng kết nối từ mỗi IP:Mã:netstat -n | grep :80 | grep SYN_RECV|wc -l
Nếu muốn kiểm tra IP nào mở nhiều SYN thì thêm vào:Mã:netstat -an|grep :80 |awk '{print $5}'|cut -d":" -f1|sort|uniq -c|sort -rn
- Đối với server có nhiều IP, để kiểm tra IP nào đang bị tấn công:Mã:netstat -an|grep :80|grep SYN |awk '{print $5}'|cut -d":" -f1|sort|uniq -c|sort -rn
Bài viết trên sẽ có vài trường hợp ra kết quả không đúng nếu như sử dụng kernel mới , IP có dạng '::ffff:192.168.1.1:80' . Để tổng quát hơn các bạn nên dùng như sau cho mọi trường hợp :Mã:netstat -plan | grep :80 | awk '{print $4}'| cut -d: -f1 |sort |uniq -c
- Hiển thị tất cả các IP đang kết nối và số lượng kết nối từ mỗi IP:
Đồng thời mình bổ xung thêm :Mã:[root@localhost~]# netstat -an | grep ':80' | awk '{print $5}' | sed s/'::ffff:'// | cut -d":" -f1 | sort | uniq -c
- Hiển thị số lượng kết nối mỗi loại (kiểm tra xem có phải bị SYN_FLOOD hay DDoS hay ko) :
Mã:root@localhost [~]# netstat -an | grep :80 | awk '{print $6}' | sort | uniq -c 61 ESTABLISHED 13 FIN_WAIT1 17 FIN_WAIT2 1 LISTEN 25 SYN_RECV 298 TIME_WAIT
Trong trường hợp đang bị tấn công , cần phải quan sát các tham số trên một các real time => dùng lệnh 'watch' :
- Hiển thị tất cả các IP đang kết nối và số lượng kết nối từ mỗi IP:
- Hiển thị số lượng kết nối mỗi loại :Mã:[root@localhost~]#watch "netstat -an | grep ':80' | awk '{print \$5}' | sed s/'::ffff:'// | cut -d\":\" -f1 | sort | uniq -c"
Mã:root@localhost [~]# watch "netstat -an | grep :80 | awk '{print \$6}' | sort | uniq -c"
No comments:
Post a Comment