查看Java的线程
1、用ps -eLf | grep java | wc 查看系统里运行的java线程数
2、用top H可以按线程排序CPU和内存的占用及相应的线程ID
3、用killall -3 (unix only) 或 jstack -l 可以Dump出Java的线程,然后根据线程ID(转换成16进制后对应thread dump的nid)查看线程的堆栈
1. cat /proc/${pid}/status
2. pstree -p ${pid}
3. top -p ${pid} 再按H
或者直接输入 top -bH -d 3 -p ${pid}
查看进程工作
strace -p ${pid}
开启iptables日志
iptables -t raw -I PREROUTING 1 -p tcp --syn -m statistic --mode nth --every 5000 -j LOG --log-prefix "IPTABLES DETECTING SYN: "
tail /var/log/message
关闭iptables日志
iptables -t raw -F
查看是否被攻击
netstat -n -p TCP | grep SYN_RECV | grep :80 | wc -l
netstat -tn|grep ESTABLISH|wc -l
查出服务器是否受到DOS攻击 (看SYN_RECV)
netstat -an |awk '{print $6}'|sort|uniq -c|sort -rn
5116 TIME_WAIT
1624 ESTABLISHED
531 FIN_WAIT1
512 FIN_WAIT2
126 SYN_RECV
10 CLOSING
9 LISTEN
查出服务器异常IP链接
netstat -an | awk '{print $5}' | cut -d":" -f1 | sort | uniq -c | sort -rn | head
1、用ps -eLf | grep java | wc 查看系统里运行的java线程数
2、用top H可以按线程排序CPU和内存的占用及相应的线程ID
3、用killall -3 (unix only) 或 jstack -l 可以Dump出Java的线程,然后根据线程ID(转换成16进制后对应thread dump的nid)查看线程的堆栈
1. cat /proc/${pid}/status
2. pstree -p ${pid}
3. top -p ${pid} 再按H
或者直接输入 top -bH -d 3 -p ${pid}
查看进程工作
strace -p ${pid}
开启iptables日志
iptables -t raw -I PREROUTING 1 -p tcp --syn -m statistic --mode nth --every 5000 -j LOG --log-prefix "IPTABLES DETECTING SYN: "
tail /var/log/message
关闭iptables日志
iptables -t raw -F
查看是否被攻击
netstat -n -p TCP | grep SYN_RECV | grep :80 | wc -l
netstat -tn|grep ESTABLISH|wc -l
查出服务器是否受到DOS攻击 (看SYN_RECV)
netstat -an |awk '{print $6}'|sort|uniq -c|sort -rn
5116 TIME_WAIT
1624 ESTABLISHED
531 FIN_WAIT1
512 FIN_WAIT2
126 SYN_RECV
10 CLOSING
9 LISTEN
查出服务器异常IP链接
netstat -an | awk '{print $5}' | cut -d":" -f1 | sort | uniq -c | sort -rn | head