摘要:简单记录一下分析linux日志用到的一些命令

# 查看ubuntu中登录用户成功的ip以及尝试登录次数
grep "Accepted " /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | more

# 查看ubuntu中登录成功的ip、用户名
grep "Accepted " /var/log/auth.log | awk '{print $1,$2,$3,$9,$11}' 

# 查看ubuntu中登录root用户失败的ip以及尝试登录次数
grep "Failed password for root" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | more

# 查看ubuntu中登录失败使用的用户名
grep "Failed password" /var/log/auth.log|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr

# 查看ubuntu中登录失败的ip以及尝试登录次数
grep "Failed password" /var/log/auth.log |grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c


# 查看centos中登录成功的ip、用户名
grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'

# 查看centos中登录失败使用的用户名
grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr

# 查看centos中登录失败的ip以及尝试登录次数
grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c


# 查看当前系统正在登录的用户及其开启的进程
w


# 查看当前系统正在登录的用户
who


# last 命令用来显示所有用户的历史登录信息。
# 执行 last 命令,它会读取 /var/log/wtmp 文件的内容。
# 并把该文件记录的用户登录历史全部显示出来:信息记录了谁在什么时间从哪里登录了服务器,登录了多长时间。
last


# 需要注意的是系统中的 wtmp 日志文件经常会被轮转
# 所以有时你需要使用 -f 选项 显式的指定 last 命令从哪个文件中读取信息。
last -f/var/log/wtmp.1


# 查看所有用户的最后一次登陆时间
lastlog


# 查看所有登录系统失败的日志
lastb