lastlog
记录用户最后一次登录情况
只有root最近登录过
lastlog -u 用户名或者uid
uid 直接在passwd文件中的低三位可以看到
lastb
记录用户用户登录失败的用户记录,包括用户名ip。文件位于/var/log/btmp
lastb |sort -n | uniq -c | sort -n -r | head -6
这个可以直接按照次数排列出来,统计爆破ssh的ip次数前六位
如果想直接统计ip的话,下面俩个命令都可以
lastb |awk '{ print $3}'|sort -n | uniq -c | sort -n -r | head -6
lastb |awk -F " " '{ print $3}'|sort -n | uniq -c | sort -n -r | head -6
-F表示用什么分割
统计爆破用户名
lastb |awk '{ print $1}'|sort -n | uniq -c | sort -n -r |awk '{ print $2}'
last
记录登录用户的信息,存储在/var/log/wtmp文件中
查询所有登录用户名出现的次数
last|awk '{print $1}'|sort -n|uniq -c|sort -n -r
统计用户登录的ip次数
last|awk '{print $3}'|sort -n | uniq -c | sort -n -r
awk和真好用哈哈
登录日志看完了 看一下apache日志。任务计划和其他暂时先不看
access log 分析
查询某个文件多少行
echo $(sed -n '$=' access_log-20200705 )
显示前200行
head access_log-20200705 -n 200
我们以其中一条带masscan特征的请求进行分析
209.97.190.223 - - [28/Jun/2020:08:06:40 +0800] "GET / HTTP/1.0" 403 4897 "-" "masscan/1.0 (https://github.com/robertdavidgraham/masscan)"
查一下 带有masscan且响应状态码为403的。
cat access_log-20200705|grep "HTTP/1.0" 403.*masscan" -i
-i表示不分大小写
按照上面的可以直接写出统计扫描ip的命令
cat access_log-20200705|grep "HTTP/1.0" 403.*masscan" -i|awk '{print $1}'
加上次数
cat access_log-20200705|grep "HTTP/1.0" 403.*masscan" -i|awk '{print $1}'|sort -n | uniq -c | sort -n -r
grep 是个好东西