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

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

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

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

方舟快速找到服务器 ,直连的使用,Ip进入服务器技巧。
加载中
方舟快速找到服务器 ,直连的使用,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://test.idctop.com/article/557465.html

(0)
IP频繁访问网站如何限制,怎么设置IP限速?
上一篇 2026年8月8日 19:22
支持SSL的服务器有哪些,SSL证书怎么安装?
下一篇 2026年8月8日 19:24

相关推荐

  • 服务器挖矿违法吗?服务器挖矿会被抓吗

    服务器挖矿在当前的技术与经济环境下,已不再是无风险的“暴利”游戏,而是一场拼硬件损耗、电力成本与技术运维的精细化博弈,核心结论非常明确:对于绝大多数企业或个人而言,利用服务器进行加密货币挖矿必须极其慎重,只有在电力成本极低、硬件获取渠道稳定且具备专业运维能力的前提下,才具备投资价值;盲目入场往往面临硬件折旧吞噬……

    2026年3月13日
    12200
  • 福州设计网站该怎么选,福州企业官网建设多少钱?

    选择福州设计网站的核心在于评估服务商能否将品牌视觉逻辑与高性能的技术架构深度融合,而非单纯追求低价的模板堆砌,福州设计网站哪家好:从技术与美学双维度评估在福州地区的数字化转型浪潮中,企业对网站的需求已从单纯的“展示页面”转向“品牌数字资产”,判断一家设计公司是否优秀,不能仅看其作品集是否精美,更要从底层逻辑去拆……

    2026年7月12日
    6200
  • 个人怎么注册域名?域名注册流程及注意事项详解

    个人注册域名只需在正规注册商平台完成实名认证并支付年费,通常耗时不到10分钟即可生效,建议优先选择阿里云、腾讯云等国内备案服务商以确保持续合规使用,域名是你在互联网上的门牌号,对于个人博主、独立开发者或小型创作者而言,拥有一个专属域名不仅是品牌化的第一步,更是掌握数字资产主动权的关键,很多人误以为注册域名是复杂……

    2026年5月31日
    4100
  • python libsound怎么用?python处理音频库推荐

    Python libsound 是一个用于处理音频信号的高效库,它通过简化底层音频接口调用,让开发者能更专注于算法逻辑而非硬件细节,是目前构建轻量级音频应用的首选方案之一,在音频开发领域,开发者往往面临两个极端:要么使用过于庞大的框架(如 PyAudio 或 Librosa 的复杂组合),要么陷入 C++ 底层……

    2026年7月11日
    2700
  • 个人如何注册中文域名?注册中文域名需要哪些条件

    个人注册中文域名需通过具备工信部资质的域名注册商(如阿里云、腾讯云)完成实名认证,全程约1-2个工作日,费用通常在几十元至百元不等,在数字化浪潮席卷而来的今天,中文域名不再仅仅是企业的专属名片,普通个人用户也能轻松拥有,很多人对注册流程感到陌生,甚至误以为门槛极高,只要选对渠道,操作起来比想象中简单得多,我们将……

    2026年6月7日
    4400
  • 服务器应急管理端口是什么,服务器应急端口配置方法

    服务器应急管理端口的配置与维护是保障业务连续性的最后一道防线,其核心价值在于当常规远程连接失效时,提供独立、可靠的带外管理通道,实现故障的快速定位与业务恢复,企业必须建立一套标准化的端口管理机制,确保在操作系统崩溃、网络配置错误或遭受网络攻击等极端情况下,运维人员依然能够通过独立的管理网络对服务器进行远程控制……

    2026年3月30日
    11000
  • 个人博客网站模板素材哪里找?免费高质量博客模板下载

    个人博客网站模板sucai是快速搭建个性化内容平台的最佳选择,它能通过现成的代码结构和设计资源,帮助非技术人员在极短时间内完成专业级网站的部署,爆发的今天,拥有一个独立的个人博客不仅是展示专业能力的窗口,更是构建个人IP的核心阵地,对于许多希望进入自媒体领域或记录生活点滴的用户来说,从零开始编写代码既不现实也不……

    2026年6月13日
    2900
  • 服务器怎么卸载软件?Windows和Linux系统卸载命令详解

    服务器卸载软件的核心在于“彻底清理”与“系统无损”,必须根据软件安装方式(包管理器、源码编译、二进制文件)选择对应的卸载策略,并严格清理残留文件与依赖,以释放磁盘空间并确保系统稳定性,不同于桌面环境的图形化卸载,服务器环境更强调命令行操作的精准度与依赖关系的处理,错误的卸载操作可能导致系统库缺失,进而影响其他关……

    2026年3月17日
    10900
  • 服务器宝塔怎么安装使用?宝塔面板新手完整教程

    新手3步快速部署网站,老手高效运维提效核心结论:宝塔面板是当前国内最易上手、功能最全的Linux服务器可视化管理工具,30分钟即可完成从零部署LNMP环境+网站上线,适合个人站长、中小企业及开发者快速建站与运维,掌握本教程,可避免90%的常见部署错误,大幅提升效率,安装前准备:确保服务器环境合规(5分钟)服务器……

    服务器运维 2026年4月17日
    7400
  • Python中nbytes是什么意思?python获取字节长度

    Python中的nbytes属性直接返回对象占用的内存字节数,它是评估数据结构内存效率、优化大数据处理性能的关键工具,尤其在处理大型NumPy数组或Pandas DataFrame时,能帮助你精准定位内存瓶颈,在Python编程的世界里,内存管理往往是一个被忽视但至关重要的环节,当你面对海量的数据流,或者运行复……

    2026年7月6日
    17800

发表回复

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