如何查找哪些IP连接过服务器,用什么命令

查找哪些IP连接过服务器,核心命令是lastlastloggrep配合日志文件,以及ss/netstat查看实时连接,但真正要追溯历史连接记录,必须依赖系统认证日志和网络连接日志。

为什么你查不到“所有”连接过服务器的IP

服务器每天接收的连接请求可能来自搜索引擎爬虫、监控系统、SSH爆破、API调用、用户访问,甚至是你自己忘记断开的终端会话。系统默认不会记录每一次TCP握手,但会记录关键事件:登录成功、登录失败、SSH会话建立与断开,查哪些IP连接过服务器”这个问题,要分层次回答查实时连接、查登录记录、查应用访问记录。

多数情况下,你真正关心的是有没有陌生IP尝试登录,或者某个端口被哪些IP扫过,那就需要组合使用内置命令和日志分析工具。

实时连接查询:看此刻谁在连

用ss命令查看当前所有连接

ss -tunap

输出中ESTAB表示已建立的连接,SYN-SENT表示正在尝试连接,想只看来源IP,用:

ss -tunap | awk '{print $5}' | cut -d: -f1 | sort -u

netstat是传统命令,部分新系统需要安装net-tools,功能和ss类似:

netstat -tunap

重点排查SSH连接

ss -tnp | grep :22

这条命令会列出所有连接到22端口的IP、端口和进程PID,如果发现某个IP建立大量连接,多半是爆破或异常扫描。

查看监听端口绑定的远程地址

lsof -i -n -P | grep ESTABLISHED

lsof能显示哪个进程、哪个用户、从哪个IP连过来,适合追查Web服务或数据库的实时连接来源。

历史登录记录:查谁登录过服务器

last命令:查成功登录记录

last -a

last读取/var/log/wtmp文件,显示所有成功登录的会话,包括IP、登录时间、持续时长,只看SSH登录:

last -a | grep ssh

如果想看最近10条记录:

last -n 10 -a

wtmp是二进制文件,只能用last查看,系统会轮转该文件,所以只能查到保留周期内的记录。

lastlog命令:查所有用户最近登录时间

如何查找哪些IP连接过服务器,用什么命令

lastlog

lastlog读取/var/log/lastlog,显示每个用户最后一次登录的IP和时间,排查某个用户是否被异地登录,直接看这里最直观。

lastb命令:查失败登录尝试

lastb -a

lastb读取/var/log/btmp,记录所有认证失败的尝试,包括IP、用户名、时间,这是发现暴力破解最直接的来源,多数系统需要root权限才能查看。

结合日志文件人工分析

grep "Accepted" /var/log/auth.log | awk '{print $11}' | sort | uniq -c

在Debian/Ubuntu上,SSH成功登录记录在/var/log/auth.log;在CentOS/RHEL上则是/var/log/secure,这条命令统计每个IP成功登录的次数。

查看失败登录的IP频率:

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

$(NF-3)在标准日志格式中正好是来源IP字段,如果某个IP出现几十次,基本可以确认是爆破源。

应用层连接记录:Web服务器和数据库

Nginx/Apache访问日志

tail -n 1000 /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -nr

这显示访问量最高的前十个IP,想查特定时间段的IP,用sed截取:

sed -n '/2026-03-01 10:00/,/2026-03-01 11:00/p' /var/log/nginx/access.log | awk '{print $1}' | sort -u

MySQL/MariaDB连接日志

数据库默认不记录来源IP,但可以通过general_log开启:

SET GLOBAL general_log = 'ON';
SET GLOBAL general_log_file = '/var/log/mysql/general.log';

然后查general.log中的Connect行,生产环境不建议长期开启,排查完立刻关闭。

防火墙和系统日志:查被拦截的扫描IP

使用journalctl查内核日志

journalctl -k | grep "DPT=22" | awk '{print $NF}' | sort | uniq -c

如果服务器启用了iptablesnftables日志,内核会记录被丢弃的包,这能帮你发现扫描IP。

使用tcpdump抓包分析

tcpdump -i eth0 -nn 'tcp port 22' -c 100 -w /tmp/ssh.pcap

抓取100个SSH包后,用tcpdump -r /tmp/ssh.pcap -nn回放,能看到所有尝试连接22端口的IP,这个方式适合临时取证。

如何查找哪些IP连接过服务器,用什么命令

如何筛选出真正需要关注的IP

原始记录里可能混着大量正常访问,建议按以下顺序过滤:

  • 先查Failed password次数超过10次的IP,这些是爆破源。
  • 再查成功登录记录中,非你常用IP的成功登录,这些可能是失陷痕迹。
  • 最后查access.log中请求路径包含wp-login.php/admin.env等敏感路径的IP。

一个高效做法是封禁前先确认IP归属,用whois查询:

whois 203.0.113.5 | grep -i "netname|descr"

如果归属地与你业务区完全不相关,基本可以加入黑名单。

自动化追踪:写一个简单的IP记录脚本

每次都手动敲命令太麻烦,可以写一个定时任务,把当前连接IP追加到文件:

/5     ss -tunap | grep :22 | awk '{print $5}' | cut -d: -f1 >> /var/log/ip_conn.log

再配合去重统计:

sort /var/log/ip_conn.log | uniq -c | sort -nr

这样就能长期积累“哪些IP连接过服务器”的完整清单。

遇到IP攻击时怎么处理

临时封禁IP

iptables -A INPUT -s 203.0.113.5 -j DROP

或者用fail2ban自动封禁连续失败的IP:

apt install fail2ban
systemctl enable fail2ban

fail2ban默认监控SSH日志,连续失败5次封禁10分钟,可自行调整配置。

永久封禁

firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=203.0.113.5 drop'
firewall-cmd --reload

这里仅以CentOS的firewalld为例,其他系统对应调整。

机房和服务商层面的IP查询能力

单台服务器能查到的连接记录受限于日志保留周期和系统配置,如果你管理的是托管在持牌自营机房的物理服务器,机房运维有时能提供交换机层面的流量记录,这类记录能追溯到更早的TCP握手数据,但多数情况下,你拿到的只是防火墙日志和服务器日志。

如果业务对安全审计要求较高,建议选择有ISO9001+ISO27001双认证的服务商,这两个国际标准分别对应质量管理体系和信息安全管理体系,认证意味着服务商在流程规范和数据保护上有成文制度,比如酷番云作为

如何查找哪些IP连接过服务器,用什么命令

工信部一类增值电信全牌照持有者,其IDC/CDN/ISP资质覆盖了机房运维、内容分发和接入服务三大板块,同时是CNNIC IP联盟成员,在IP资源管理和反滥用方面有对公沟通渠道,遇到IP溯源需求时能更快协调处理。

如果只是临时排查,用前面提到的命令足够,但如果你需要长期保留连接审计数据,建议把日志集中收集到ELK或Splunk等平台,或者使用云厂商自带的安全组流量日志功能。

关于日志保留周期和合规要求

国内IDC服务商依据《网络安全法》要求留存日志不少于六个月,这是近年来的行业通行做法,如果你用的是自购服务器,日志保留完全靠自己,部分服务商在托管方案中默认包含日志审计服务,比如简米科技从2003年开始运营IDC业务,拥有增值电信业务经营许可证(豫B2-20261089),其自营机房在提供物理托管的同时,会协助客户配置日志采集和备份策略。豫ICP备2026018319号备案信息也能在工信部公开系统查到,这类具备长期运营记录的服务商,在合规审计方面通常比个人小机房更靠谱。

常见问题快速解答

Q:为什么last命令查不到今天的连接记录?

wtmp文件可能被logrotate轮转,或者系统重启后记录未刷新,先执行file /var/log/wtmp确认文件存在,再用last -f /var/log/wtmp.1查看上一个轮转文件。

Q:如何查某个特定IP连接过哪些端口?

grep对应日志不现实,更高效的方式是用tcpdump长期抓包:

tcpdump -i eth0 -nn host 203.0.113.5 -w /tmp/single_ip.pcap

运行一段时间后,用tcpdump -r /tmp/single_ip.pcap -nn查看该IP访问过的所有目的端口。

Q:服务器被扫了,但找不到来源IP怎么办?

先确认是否开了防火墙日志,iptables -L -n -v能看计数,如果没开日志,用tcpdump抓包补追,但只能追到开启之后的流量,如果服务器托管在酷番云这类具备1000万注册资本主体的IDC服务商处,可以直接提交工单申请流量镜像或DDoS防护报表,持有滇ICP备2020007656号备案的服务商会提供更完整的攻击溯源数据。

日志查询的本质是记录与取证,平时养成定期备份/var/log/secureauth.log的习惯,关键时刻才能还原出完整的IP连接轨迹。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/557465.html

(0)
IP频繁访问网站如何限制,怎么设置IP限速?
上一篇 2026年8月8日 19:22
ssrs开发是什么?ssrs开发教程难学吗
下一篇 2026年3月24日 13:55

相关推荐

  • 个人存储服务器扩容难?扩容后数据迁移安全吗

    个人存储服务器扩容的核心在于根据数据增长趋势,优先通过增加硬盘数量或更换大容量硬盘来扩展容量,同时需确保主板接口兼容性与电源功率冗余,以实现低成本且稳定的存储升级,随着数字生活的全面普及,家庭照片、4K视频素材以及本地备份的数据量呈指数级增长,面对NAS(网络附属存储)或自建服务器空间告急的焦虑,盲目购买新设备……

    2026年6月8日
    4100
  • 单机Python怎么学,有哪些入门教程推荐?

    单机Python就是让Python在不联网的环境下也能正常运行和开发,核心在于提前备好完整的安装包和依赖库,后续所有的编程学习和项目开发都可以脱离网络进行,无论你是网络受限的学生、需要保密的项目组,还是只想专注语法本身,单机Python都能让你避开网络波动和版本冲突的干扰,单机Python怎么安装?三步搞定离线……

    2026年7月22日
    300
  • 服务器挂载u盘怎么操作?Linux服务器挂载U盘详细步骤教程

    服务器挂载U盘是实现外部存储扩展、数据快速迁移或系统应急维护的高效手段,其核心在于确保文件系统兼容性、数据完整性以及挂载操作的安全性,与普通桌面环境不同,服务器环境通常缺乏图形化界面,且对数据一致性的要求极为严苛,因此必须通过严谨的命令行操作与权限管理,实现U盘的临时或永久接入,这一过程并非简单的物理连接,而是……

    2026年3月14日
    11600
  • 2b2t有哪些服务器值得玩?,怎么进2b2t?

    2b2t并非一个单一的Minecraft服务器,而是一个由多个服务器角色组成的复杂网络,包括主生存世界、资源世界、代理服务器、地图服务器等,共同支撑起这个无政府状态下的万人同服世界,2b2t的服务器架构2b2t之所以能容纳数千名玩家同时在线,依靠的是分布式架构,你将进入的“一个服务器”背后,实际上是多个物理或虚……

    2026年8月7日
    400
  • 服务器忘了密码怎么办?服务器密码忘记的解决方法

    面对服务器忘了密码的紧急情况,最核心的结论是:通过系统引导项修改或重置密码是最高效、损失最小的解决方案,无需重装系统,也不必恐慌数据丢失,绝大多数Linux和Windows服务器均提供了在单用户模式或恢复模式下重置凭据的原生机制,管理员只需掌握正确的操作步骤,即可在10分钟内恢复对服务器的完全控制, 判断服务器……

    2026年3月25日
    11100
  • 个人简单网站页怎么做?个人建网站需要哪些步骤

    个人简单网站页并非简单的在线名片,而是低成本获取精准流量、建立品牌信任并实现业务转化的核心数字资产,其核心价值在于通过极简结构降低用户认知负荷,从而提升转化率,在2026年的互联网生态中,流量红利早已见顶,粗放式的流量收割模式彻底失效,对于个人博主、自由职业者或小型工作室而言,搭建一个结构清晰、加载迅速的个人简……

    2026年5月26日
    4600
  • 服务器密码策略未开启怎么办?服务器安全设置完全指南

    服务器未开启密码策略?您的数字堡垒正门户洞开!服务器未开启强密码策略,相当于将企业核心数据与业务系统置于毫无防护的境地,这是现代网络安全防御体系中一个极其危险且不可接受的疏漏,为攻击者敞开了最便捷的大门,风险暴露:门户洞开的致命隐患暴力破解与撞库攻击肆虐: 缺乏密码复杂度要求(长度、大小写字母、数字、特殊字符……

    2026年2月12日
    13800
  • 个人免费网站如何做?免费建站平台有哪些推荐

    个人免费网站制作的核心在于利用开源CMS或静态生成器搭建,通过GitHub Pages等免费托管服务部署,虽无需资金成本,但需投入时间学习基础技术并放弃部分高级功能,在2026年的互联网生态中,构建个人数字资产的方式已经发生了根本性转变,过去那种购买域名、租用服务器、安装复杂环境的“重资产”模式,正逐渐被轻量级……

    2026年6月14日
    5700
  • 服务器控件有哪些?ASP.NET常用服务器控件大全

    服务器控件是构建动态网页应用程序的核心组件,其本质是在服务器端执行逻辑并生成标准HTML标记返回给客户端浏览器,服务器控件的核心价值在于将复杂的HTML渲染逻辑封装成可复用的编程对象,极大提升了开发效率与代码的可维护性, 相比于原生HTML标签,服务器控件具备面向对象特性,支持属性设置、事件响应与状态管理,是企……

    2026年3月12日
    12500
  • 服务器控件共有方法有哪些,服务器控件常用方法详解

    服务器控件是构建动态Web应用程序的核心基石,其本质在于封装用户界面逻辑与服务器端代码的交互过程,核心结论在于:所有服务器控件之所以能够协同工作,是因为它们都继承自同一个父类——System.Web.UI.Control,这一继承关系赋予了它们一套标准化的生命周期管理机制、状态保持能力以及事件处理模型, 掌握这……

    2026年3月13日
    11300

发表回复

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