
你是否曾经担心过,自己电脑里的敏感文件是否被他人查看过?或者是否有不速之客试图闯入你的系统?很多时候,电脑安全问题往往不容易察觉,特别是在你没有留意到任何明显异常的情况下。
然而,所有的登录行为—不管是成功的还是失败的—都会被系统记录下来,成为判断安全状态的重要线索。了解如何查看这些登录记录,能够让你及时发现是否有陌生人访问过你的设备,甚至可能是防止更大的安全威胁。
无论你使用的是 Windows 还是 Linux 系统,掌握一些基本的登录记录查询方法,能够让你更好地保护个人数据,防范未然。本文将为你详细介绍如何通过简单的操作,快速检查谁在何时、如何登录过你的电脑。
在 Windows 系统中,所有的登录行为(包括成功和失败的登录尝试)都会被记录在事件日志中,用户可以通过 事件查看器 来查看这些记录。以下是具体的操作步骤:
Win + R 打开“运行”对话框。eventvwr.msc 并按回车,这样就会打开 事件查看器。

成功的登录活动会记录在 事件 ID 4624 中,以下是查询的步骤:


筛选后,你可以看到所有成功的登录记录,查看每个记录的 帐户信息、登录类型(如交互式登录、网络登录等),以及 进程信息 和 工作站名(可以帮助你追踪登录来源)。
失败的登录尝试通常是攻击者在进行暴力破解或者密码猜测行为。查看这些失败的登录记录非常重要。步骤如下:

查看失败的登录记录时,注意查看 源网络地址,它可以帮助你定位来自哪里进行的攻击。如果是远程攻击,你会看到源 IP 地址;如果是本地尝试,可能会看到本地地址或空白。
如果你喜欢命令行,PowerShell 提供了强大的查询功能。以下是查询最近登录记录的示例命令:
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4624} -MaxEvents 100 | Select-Object TimeCreated, Id, Message
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4625} -MaxEvents 50 | Select-Object TimeCreated, Message | Format-Table -Wrap
$StartTime = (Get-Date).AddHours(-24)
Get-WinEvent -FilterHashtable @{ LogName='Security'; Id=4625; StartTime=$StartTime } |
Select-Object TimeCreated, Id, LevelDisplayName, Message |
Sort-Object TimeCreated -Descending |
Format-Table -AutoSize -Wrap

Get-WinEvent -FilterHashtable @{ LogName='Security'; ID=4625 } |
Where-Object { $_.Message -like "*192.168.0.217*" }
在 Linux 系统中,登录记录同样非常重要。通过查看日志文件,你可以了解谁在什么时候登录过你的系统。Linux 系统的登录记录通常存储在 /var/log 目录下,使用一些简单的命令就能快速查询。
Linux 系统中的成功登录记录可以通过 last 命令查看。该命令会显示最近的登录信息,包括用户、登录时间、IP 地址等。
last

要显示登录来源的 IP 地址,可以加上 -a 参数:
last -a

失败的登录尝试会被记录在 /var/log/btmp 文件中。使用 lastb 命令查看这些记录:
lastb

通过查看失败的登录尝试,你可以检查是否存在暴力破解或者其他不当行为。
如果你想查看某个特定用户的登录历史,可以使用 last 命令并指定用户名:
last username

这将显示该用户的所有登录历史记录。
无论是 Windows 还是 Linux 系统,查看登录记录通常需要管理员权限。如果你没有足够的权限,请确保以管理员身份运行相关工具。此外,定期检查登录记录可以有效提高系统的安全性,及时发现异常行为。
Windows 和 Linux 系统的日志文件通常会有大小限制,日志数据可能会被覆盖。因此,建议定期备份日志文件,并根据需要调整日志文件的大小限制。
logrotate 配置来定期备份日志文件。通过定期检查 Windows 和 Linux 系统中的登录记录,你可以有效防止未经授权的访问,保障系统的安全。无论是查看成功登录、失败尝试,还是通过命令行获取更详细的记录,掌握这些方法都能帮助你及时发现潜在威胁,防患于未然。