如何查看哪个IP登录了服务器,服务器登录IP查询方法?

想查哪个IP登录了服务器,核心思路就两条:查登录记录和查当前连接,前者用last、lastlog和认证日志,后者用ss或netstat,所有命令都能在Linux和Windows上找到对应版本。下面把实操方法按场景拆开,每一步都给你能直接照抄的命令。

查登录记录:last命令和wtmp日志

服务器上每一次SSH登录、终端登录,系统都会默默记进日志文件。大部分Linux发行版用的是/var/log/wtmp,这个文件二进制格式,不能直接cat,需要用last命令解析。

last命令的常规用法

直接敲last,屏幕会列出完整的登录历史,包括登录用户、来源IP、登录时间、退出状态,输出格式长这样:

root     pts/0    203.0.113.5     Thu Mar 14 09:22   still logged in
admin    pts/1    198.51.100.23   Thu Mar 14 08:15 - 09:01  (00:46)
reboot   system boot  5.15.0-91-generic  Thu Mar 14 07:30   still running
  • 第一列是用户名,第二列是终端类型(pts/0表示远程SSH终端),第三列就是来源IP。
  • 看到still logged in说明这个会话还活着,在排查当前入侵时尤其值得注意。
  • 想只看某个用户的登录历史,加参数:last root
  • 想查某个IP到底登录过几次,用last | grep 203.0.113.5

常用参数:-a和-n

last -a可以把IP显示在最后一行,方便人眼快速扫。last -n 20只显示最近20条记录,日常巡检时够用,不用翻几百行。

关键点来了:如果日志文件被轮转或清空,last输出会不完整,这时可以查看历史轮转文件/var/log/wtmp.1,用last -f /var/log/wtmp.1读取,多数服务器会保留一到两周的轮转记录,这往往是追溯攻击者的重要线索。

lastlog:查看所有用户上次登录

lastlog命令展示的是每个用户最近一次登录的IP和时间,比last更简洁,输出包括系统用户(如daemon、bin),这些通常显示Never logged in,忽略即可,重点看root和真实业务账号的最近登录IP是否符合预期。

对比表格:last与lastlog

命令 查看范围 典型用途
last 全部登录历史,含多次记录 追溯某时间段内所有IP,排查异常登录
lastlog 每个用户最近一次登录 快速判断某个账号是否被异地登录
last -f 文件 指定轮转日志文件 日志被清理后查历史记录

查SSH认证日志:auth.log还是secure

登录记录能告诉你“有哪些IP登过”,但

如何查看哪个IP登录了服务器,服务器登录IP查询方法?

查SSH认证日志才能回答“这个IP登录成功没有”,攻击者反复尝试密码的痕迹,全在认证日志里。

Linux下认证日志位置

  • Debian/Ubuntu系:/var/log/auth.log
  • CentOS/RHEL系:/var/log/secure

查看最近SSH登录成功和失败的IP,用下面这条:

grep "sshd" /var/log/auth.log | grep "Accepted" | awk '{print $11}'

这条命令把所有SSH登录成功的IP列出来,$11字段是auth.log中来源IP的位置,如果想看失败尝试,把Accepted换成Failed

一条日志看懂登录结果

真实的auth.log记录长这样:

Mar 14 09:22:01 web01 sshd[29384]: Accepted publickey for root from 203.0.113.5 port 52341 ssh2: RSA SHA256:xxxx
Mar 14 08:10:33 web01 sshd[29102]: Failed password for invalid user admin from 198.51.100.23 port 22101 ssh2
  • Accepted表示登录成功,后面跟着用户名和来源IP。
  • Failed password表示密码错误,如果某IP短时间内大量触发Failed记录,基本可以断定是暴力破解
  • 注意invalid user字样,说明攻击者尝试了一个系统里不存在的用户名,这类记录恶意特征明显。

统计暴力破解来源IP

一条命令拉出尝试次数最多的前10个IP:

grep "Failed password" /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -nr | head -10

输出里最左边的数字是失败次数。如果某个IP失败几十次甚至几百次,直接封掉,封禁方法下文细说。

查当前活跃连接:ss命令实时排查

有时候你要的不是历史记录,而是此时此刻谁正连着你的服务器,这种情况用ss命令,它是netstat的现代替代品,输出更快信息更全。

查看所有SSH连接

ss -tunap | grep :22

输出示例:

ESTAB  0  0  203.0.113.5:22  198.51.100.23:52341  users:(("sshd",pid=29384,fd=3))
  • ESTAB是已建立的连接,来源IP是第二列结尾的51.100.23
  • 如果看到大量SYN-SENTSYN-RECV状态,说明服务器可能正在被扫描或洪水攻击。
  • 把所有连接按IP统计,用ss -tunap | grep :22 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c,一眼看出哪个IP建立的连接数异常。

Windows服务器怎么看

Windows用netstat -ano | findstr :3389,查看RDP远程桌面连接,最后一列是PID,配合任务管理器能定位到具体进程,Windows的登录日志在事件查看器里,

如何查看哪个IP登录了服务器,服务器登录IP查询方法?

安全日志事件ID 4624代表登录成功,4625代表失败,筛选来源IP在“常规”选项卡的“源网络地址”字段。

日志被清空后还能查什么

行业共识认为,多数攻击者在取得权限后会清理日志last输出可能变成空白,但这不代表无迹可寻:

  • bash历史记录:history/root/.bash_history,看攻击者执行过什么命令。
  • 进程列表:ps aux,排查异常进程如挖矿程序。
  • 临时文件目录:ls -la /tmp,很多攻击脚本落地在/tmp。
  • 登录成功的IP如果走SSH,密钥文件~/.ssh/authorized_keys里可能被追加了攻击者的公钥。

查Web层访问:access.log与IP溯源

如果服务器是Web服务器,查访问日志能定位到具体请求来源IP,这在排查CC攻击、恶意爬虫时最常用。

Nginx和Apache的访问日志

  • Nginx:/var/log/nginx/access.log
  • Apache:/var/log/apache2/access.log/var/log/httpd/access_log

查看访问量最大的前10个IP:

awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -10
  • 输出第一列是请求次数,第二列是IP。
  • 正常业务IP请求量分布均匀,某一IP请求量占全部请求的相当比例时,大概率是爬虫或攻击
  • 查看某IP具体请求了什么URL:grep "203.0.113.5" /var/log/nginx/access.log | tail -50,看它是在访问正常页面还是扫描后台路径。

实时跟踪新IP访问

tail -f /var/log/nginx/access.log

每有新请求实时打印一行,配合浏览器访问测试,能立刻验证自己的出口IP是否被正常记录。

服务器被异地登录怎么查:一个完整排查场景

假设你收到服务器异地登录的告警,或者发现某个账号在陌生IP上登录过,按下面顺序排查,不遗漏关键证据。

第一步:确认登录来源和时间

last -n 20

找到异地IP对应的登录记录,记录下精确到秒的登录时间,如果记录显示登录时间在深夜、且你本人没有操作,基本可以判定异常。

第二步:检查SSH密钥是否被植入

cat ~/.ssh/authorized_keys

逐行检查公钥内容,和你在本地电脑上的公钥对比。陌生的公钥意味着攻击者拿到了永久的免密登录权限,比单纯盗密码更严重。

第三步:封禁可疑IP

Linux下用iptables封禁:

iptables -I INPUT -s 203.0.113.5 -j DROP

如何查看哪个IP登录了服务器,服务器登录IP查询方法?

0.113.5换成实际IP,立即生效,不需要重启服务,更持久的方案是配置fail2ban,它会自动检测多次登录失败的IP并临时封禁,配置文件在/etc/fail2ban/jail.local

第四步:修改密码和密钥

这个异常IP登录过的账号,密码必须改,用passwd 用户名修改,同时检查该账号是否有sudo权限:

sudo -l -U 用户名

如果显示能执行所有命令,说明该账号权限过大,需要收紧。

第五步:检查定时任务和启动项

攻击者常通过crontab维持持久化:

crontab -l
cat /etc/crontab
ls -la /etc/cron.d/

发现不认识的定时任务,先注释或删除,再排查对应脚本文件内容。

日志文件的轮转与保留策略

服务器日志不是无限增长的,系统会按天或按大小自动轮转,Linux的logrotate默认每天或每周切割一次,保留4周左右,这意味着一台跑了半年的服务器,用last默认只能看到最近几周的记录,更早的得查轮转压缩文件。

查看轮转配置:

cat /etc/logrotate.d/rsyslog

实际运维中,建议把wtmp和auth.log的保留周期调长到90天,便于事后退责和追踪,修改方法是在/etc/logrotate.d/rsyslog中把rotate 4改成rotate 13,对应约13周,对于安全要求高的服务器,应该把日志实时同步到远端日志服务器,防止本地日志被篡改。

常见问题解答

last查看不到登录记录,原因是什么?

多数情况下是日志文件被轮转或清理了,先检查/var/log/wtmp是否存在且非空,用ls -lh /var/log/wtmp查看,文件被清空后last只显示reboot记录,另一个可能是系统没有启用wtmp日志记录功能,检查/etc/rsyslog.conf中是否包含authpriv.相关配置。

如何查看linux服务器最近登录的IP地址?

last -n 10查看最近10条登录记录,来源IP就在第三列,想只看登录成功记录,用last -n 10 | grep -v reboot过滤掉系统重启记录,如果需要更精确的时间线和登录用户,配合grep Accepted /var/log/auth.log查看SSH成功认证记录。

多个IP同时登录同一账号是否属于异常?

判断标准在于账号类型和业务场景,运维人员共用root账号时,不同IP同时登录是常态,但如果单账号对应单人员,却出现两个不同地理位置的IP同时在线,异常可能性较大,先通过last确认两个IP是否真的在同一时间窗口内建立连接,再结合登录时间是否在业务低谷期一起判断。

图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/667565.html

(0)
上一篇 2026年8月11日 10:10
下一篇 2026年8月11日 10:19

相关推荐

  • 未开发的科技有限公司究竟隐藏着怎样的创新潜能与未来前景?

    在当今快速发展的科技浪潮中,未开发的科技有限公司(以下简称“未开发科技”)正以其独特的发展模式和前瞻性的战略布局,在竞争激烈的市场中崭露头角,本文将从公司概况、核心业务、创新技术、团队建设以及未来展望等方面,全面介绍未开发科技有限公司的发展历程和未来潜力,公司概况未开发科技有限公司成立于2015年,总部位于我国……

    2025年12月18日
    02570
  • 如何通过小程序公众号开发电话获取专业小程序开发服务及报价?

    在当今数字时代,小程序和公众号已经成为企业品牌推广和用户服务的重要工具,本文将详细介绍小程序公众号的开发过程,包括电话咨询的必要性、开发流程以及相关注意事项,小程序公众号开发的重要性1 提升用户体验小程序公众号开发能够为用户提供便捷的服务,通过手机即可完成信息查询、购物、娱乐等多种需求,极大提升了用户体验,2……

    2025年12月2日
    02350
  • 多商户平台系统开发,多商户系统开发多少钱

    2026年多商户平台系统开发的核心结论是:不再单纯追求功能堆砌,而是转向“AI驱动+私域流量+合规数据资产”的深度融合,采用低代码或SaaS化部署可将初期成本降低40%-60%,但需警惕数据孤岛与合规风险,多商户平台系统开发的底层逻辑与趋势在2026年的数字经济背景下,多商户平台已不再是简单的“淘宝式”撮合交易……

    2026年7月1日
    0632
    • 服务器间歇性无响应是什么原因?如何排查解决?

      根源分析、排查逻辑与解决方案服务器间歇性无响应是IT运维中常见的复杂问题,指服务器在特定场景下(如高并发时段、特定操作触发时)出现短暂无响应、延迟或服务中断,而非持续性的宕机,这类问题对业务连续性、用户体验和系统稳定性构成直接威胁,需结合多维度因素深入排查与解决,常见原因分析:从硬件到软件的多维溯源服务器间歇性……

      2026年1月10日
      020
  • 嘉兴网站开发选哪家?嘉兴专业做网站的公司推荐

    在嘉兴地区进行网站开发,选择技术实力雄厚、服务流程规范且具备本地化服务能力的建站公司是核心决策依据,企业应优先考虑能够提供高性能云架构支持与全生命周期运维服务的合作伙伴,而非单纯比较价格模板,一个优质的网站不仅是企业的线上名片,更是业务增长的核心引擎,选择不当将直接导致后续运营成本高昂、安全性差及用户体验不佳等……

    2026年4月6日
    01905

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注