常用命令
# 查询登录失败的用户记录
lastb
# 查询成功登录到系统的记录
last
# 查询指定目录下30天以前的文件和目录
find /var/log/ -mtime +30
ssh 远程登陆失败、成功的日志
less /var/log/secure # 日志量往往很大,使用 less 或 more 查看,不能用cat
tail -f /var/log/secure # 查看实时的日志变化用 tail -f
grep -i Failed /var/log/secure # 查询登录失败
grep -i Accepted /var/log/secure # 查询登录成功
# 查询IP爆破次数
grep -i Failed /var/log/secure |awk '{print $(NF-3)}' | sort | uniq -c | sort -rn
# 查看有多少IP 在爆破主机的root 用户
grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
# 登录成功的IP
grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
# 登录成功的 日期,用户名 IP
grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'
awk命令分析
awk '{print $1}' zypjw.cn.log | sort -n |uniq -c | sort -rn | head -n 500
# 统计nginx访问ip的数量有几个(独立ip访问数量):
cat /www/wwwlogs/zypjw.cn.log | awk '{print $1}' | sort -nr | uniq | wc -l
# 统计不同ip访问nginx的次数,并由多到少排序:
cat /www/wwwlogs/zypjw.cn.log | awk '{print $1}' | sort -n | uniq -c| sort -rn | head -n 100
# 查看访问次数大于X(这里假设是100)的ip,并列出访问次数
cat /www/wwwlogs/zypjw.cn.log | awk '{print $1}' | sort -n | uniq -c| sort -rn | awk '{if($1>100)print $0}'
# 查询出访问最频繁的URL
cat /www/wwwlogs/zypjw.cn.log | awk '{print $7}' | awk -F '?' '{print $1}' | sort -n | uniq -c | sort -nr | head -n 1
# 对url进行统计:
cat /www/wwwlogs/zypjw.cn.log | awk '{print $7}' | awk -F '?' '{print $1}' | sort -n | uniq -c | sort -nr
# 统计访问成功次数(状态码为2开头的都为成功2xx):
cat /www/wwwlogs/zypjw.cn.log | awk '{if($9 ~ /2[0-9]{2}/)print $9}' | wc -l
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 [email protected]