linux如何查登录账号的ip
linux如何查登录账号的ip详细介绍
在 Linux 系统中,查看登录账号的 IP 地址可以通过系统日志和相关命令实现,以下是具体方法:
方法一:使用 last 命令(查看成功登录记录)
last 命令用于显示用户最近的登录历史,包括登录时间、来源 IP 等信息(数据来自 /var/log/wtmp 文件)。
bash
last 用户名last
- 输出示例:plaintext
username pts/0 192.168.1.100 Tue Apr 30 10:00 still logged inusername pts/0 192.168.1.100 Mon Apr 29 15:30 gone - no logout
- 说明:最后一列(或通过
-a选项显示在末尾)即为登录 IP。
方法二:使用 lastb 命令(查看失败登录记录)
lastb 用于查看登录失败的记录(数据来自 /var/log/btmp 文件),格式与 last 类似,可用于排查暴力破解等异常登录。
bash
lastb 用户名
方法三:直接查看登录日志文件
系统登录日志包含更详细的信息(如认证方式、时间戳等),不同 Linux 发行版的日志路径略有差异:
1. RedHat/CentOS/Fedora 系列(/var/log/secure)
bash
/var/log/secure
/var/log/secure
- 关键字段:
Accepted password for username表示登录成功,其后的from IP即为来源 IP(第 11 列)。
2. Debian/Ubuntu 系列(/var/log/auth.log)
bash
/var/log/auth.log
/var/log/auth.log
方法四:使用 who 或 w 命令(查看当前登录用户)
如果需要查看当前在线用户的 IP(如通过 SSH 登录的用户),可使用:
bash
w
- 说明:若通过 SSH 登录,IP 会显示在终端设备(如
pts/0)后的括号中,例如192.168.1.100 (pts/0)。
方法五:分析历史日志(针对旧记录)
若登录记录已被轮换(日志文件被压缩或分割),需查看历史日志(如 secure.1, auth.log.1.gz 等):
bash
zcat /var/log/secure.1.gz
注意事项
- 日志权限:查看日志需
sudo或管理员权限。 - 日志格式:不同系统版本的日志字段顺序可能不同,建议先用
cat /var/log/secure或cat /var/log/auth.log确认 IP 所在列(通常是第 9 或 11 列)。 - 服务类型:以上方法主要针对 SSH 登录,若用户通过其他服务(如 FTP、Web 界面)登录,需查看对应服务的日志(如
/var/log/vsftpd.log)。
通过以上方法,可快速查询用户登录的 IP 地址,结合日志分析还能排查异常登录行为。