如何查看Linux用戶的登錄IP last命令過濾技巧

要查看linux中某個用戶從哪個ip登錄過,可通過last命令結合過濾實現。具體步驟:1.使用last 用戶名查看指定用戶登錄記錄,第三列為ip;2.結合grep過濾特定ip,如last 用戶名 | grep “ip”;3.用last | grep “ip”反向查哪些用戶曾用該ip登錄;4.通過last | awk ‘{print $1, $3}’提取用戶名和ip字段;5.用last | awk ‘{print $3}’ | sort | uniq列出所有去重的登錄ip。注意:本地登錄顯示為:0或localhost,跳板機登錄需結合/var/log/secure分析,建議用sudo執行確保權限。

如何查看Linux用戶的登錄IP last命令過濾技巧

查看linux用戶登錄IP,尤其是想找出某個用戶從哪個IP登錄過,其實不算難。last 命令是常用的工具之一,但默認輸出信息多、雜,直接看容易眼花。其實只要掌握幾個過濾和組合技巧,就能快速定位目標IP。

如何查看Linux用戶的登錄IP last命令過濾技巧


last命令基礎:看哪些用戶登錄過

last 命令默認會列出所有用戶的登錄記錄,包括終端、IP、登錄時間等信息。比如:

如何查看Linux用戶的登錄IP last命令過濾技巧

last | head -20

你會看到類似這樣的輸出:

user1   pts/0        192.168.1.100    Mon Jul  1 10:00 - 10:30  (00:30) user2   pts/1        10.0.0.5         Sun Jun 30 15:00 - 15:45  (00:45) reboot  system boot  5.4.0-122-generi Sun Jun 30 14:55

重點看第三列,就是登錄的IP地址。如果你只想查某一個用戶,可以直接加用戶名作為參數:

如何查看Linux用戶的登錄IP last命令過濾技巧

last user1

這樣就能只看 user1 的登錄記錄了。


結合grep過濾IP:縮小范圍找特定登錄來源

如果你想查找某個用戶從特定IP登錄的歷史記錄,可以結合 grep 使用:

last user1 | grep "192.168.1.100"

這條命令的意思是:在 user1 的登錄記錄里,篩選出包含 192.168.1.100 的行。

也可以反過來,先不管用戶是誰,只想知道某個IP有沒有登錄過:

last | grep "10.0.0.5"

這種方式適合排查可疑登錄行為,或者確認某個外部IP是否連接過服務器。


高級用法:配合awk提取關鍵字段

有時候你可能只需要IP和用戶名,不需要其他信息。可以用 awk 提取關鍵字段:

last | awk '{print $1, $3}'

這樣輸出就只有用戶名和IP兩列,更直觀。

如果還想進一步去重,看看有哪些不同的IP登錄過:

last | awk '{print $3}' | sort | uniq

這段命令會列出所有出現過的登錄IP,并去重顯示。


小技巧提醒:注意IP偽裝和本地登錄

有些時候你可能會看到像 :0 或者 localhost 這樣的登錄記錄,這些通常是本地圖形界面登錄,沒有實際IP。

還有一些可能是通過跳板機或代理登錄的,這時候顯示的是中間服務器的IP,不是最終來源。這種情況下需要結合其他日志(如 /var/log/secure)來進一步分析。

另外,別忘了權限問題:普通用戶運行 last 可能看不到全部記錄,建議用 sudo 來確保完整數據。


基本上就這些操作了,不復雜但挺實用。熟練使用 last 搭配 grep 和 awk,基本能滿足大多數登錄IP查詢的需求。

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享