[Linux] - 攻击查看与IP查封

时间:2023-03-09 05:54:03
[Linux] - 攻击查看与IP查封

查看80端口的连接数

netstat -nat|grep -i ""|wc -l

查看Nginx的日志命令

tail -f access.log

统计IP访问数

awk '{aaa[$1]++;} END{for(i in aaa) { printf("%s\t%s\n", aaa[i], i); }}' ./access.log | sort -bn

封IP

iptables -I INPUT -s 127.0.0.1 -j DROP

解封IP

iptables -D INPUT -s 127.0.0.1 -j DROP

当前IP链接数据排序

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n 

查看80端口连接数最多的20个IP

netstat -anlp|grep |grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n20

查找较多的SYN连接

netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | more

查找较多time_wait连接

netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20

查看并发数

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
或者
netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"t",state[key]}'

结果说明:

LAST_ACK  (正在等待处理的请求数)
SYN_RECV
ESTABLISHED (正常数据传输状态,并发数)
FIN_WAIT1
FIN_WAIT2
TIME_WAIT (处理完毕,等待超时结束的请求数) 其他参数说明:
CLOSED:无连接是活动的或正在进行
LISTEN:服务器在等待进入呼叫
SYN_RECV:一个连接请求已经到达,等待确认
SYN_SENT:应用已经开始,打开一个连接
ESTABLISHED:正常数据传输状态
FIN_WAIT1:应用说它已经完成
FIN_WAIT2:另一边已同意释放
ITMED_WAIT:等待所有分组死掉
CLOSING:两边同时尝试关闭
TIME_WAIT:另一边已初始化一个释放
LAST_ACK:等待所有分组死掉