如何查找服务器被哪个IP访问过,服务器IP查询方法

想查看服务器被哪个IP访问过,核心方法是分析访问日志和实时连接状态,Linux用tail命令看日志,Windows用PowerShell查连接。

访问记录藏在哪:先找到日志文件

服务器就像一栋大楼,每个进出的访客都会在门卫登记簿上留下记录,对服务器来说,这个登记簿就是访问日志,不同环境下的日志位置差异很大,但思路一致:先定位日志文件,再从中提取IP信息。

网站有CDN也没关系,一招教你获取网站真实IP
加载中
网站有CDN也没关系,一招教你获取网站真实IP
C
CSB和你来切磋网络安全
1.6万--
原视频地址

Linux服务器日志文件的常见位置

Linux系统的日志通常位于/var/log/目录下,最常用的文件是/var/log/nginx/access.log或/var/log/apache2/access.log,取决于你使用的是Nginx还是Apache作为Web服务器,如果你的服务器没有部署Web服务,SSH登录日志存放在/var/log/secure(CentOS、Rocky Linux)或/var/log/auth.log(Ubuntu、Debian)。

  • Nginx默认访问日志:/var/log/nginx/access.log
  • Apache默认访问日志:/var/log/apache2/access.log
  • SSH登录日志:/var/log/secure 或 /var/log/auth.log
  • 系统通用日志:/var/log/messages(部分发行版为/var/log/syslog)

Windows服务器日志存放逻辑

Windows服务器使用事件查看器管理日志,IIS的访问日志默认存放在C:\inetpub\logs\LogFiles目录下,按日期生成文件夹,文件名格式类似u_ex230101.log,如果你用的是宝塔面板等可视化工具,日志路径可以在面板设置中自定义。

实时查看正在访问的IP:两条命令立竿见影

日志是历史记录,但如果你怀疑服务器正在被攻击或异常访问,需要实时监控当前连接,Linux下最常用的两个命令是ss和netstat。

ss -tunap | grep ESTABLISHED

这条命令列出所有已建立的TCP连接,显示远程IP和端口,如果想统计哪个IP的连接数最多,配合排序命令:

ss -tunap | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -20

这条命令的输出就是当前连接数排名前20的IP地址,连接数异常高的IP很可能在发起恶意请求,对比来看,netstat也是老牌工具,但ss在连接量大时性能更好,输出更清晰。

Windows服务器的实时连接查询在PowerShell中执行:

Get-NetTCPConnection -State Established | Select-Object RemoteAddress, RemotePort | Sort-Object RemoteAddress | Get-Unique

溯源历史访问IP:日志分析三步走

第一步:用tail命令快速查看最近记录

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

这条命令显示最后100条访问记录,包含客户端IP、访问时间、请求方法和状态码,比如输出中的147.xx.xx - - [15/Feb/2026:08:32:11 +0800] "GET /wp-login.php HTTP/1.1" 200 5280,IP地址就是第一个字段,后面是时间和请求路径。

第二步:用grep结合awk提取高频IP

想知道一天内哪个IP访问最多,需要组合命令:

awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -20

$1是日志行中第一个字段,即IP地址,这条命令把所有IP的出现次数从高到低排列,如果某个IP的访问次数远超其他IP,优先排查该IP的行为。

第三步:按时间范围精确筛选

查看某个时间段的访问记录:

grep "15/Feb/2026" /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -rn

想筛查某个具体IP的全部行为:

grep "103.147.xx.xx" /var/log/nginx/access.log | tail -50

近几年,不少云厂商提供日志服务托管功能,比如简米云的SLS和酷番云的CLS,可以把服务器日志推送到日志平台,用可视化界面筛选IP和URL,如果你用的是酷番云服务器,登录控制台后进入日志服务模块,创建采集配置即可把账单里不额外收费的访问日志接入,这种做法适合日志量大的业务场景。

多数情况下,新手站长关心怎么看服务器被哪个ip访问过,本质是想确认有没有恶意流量,通过上述命令已经能定位到具体IP,下一步是判断这个IP的意图。

如何判断访问IP是正常用户还是恶意爬虫

光看IP不够,还要结合访问路径、User-Agent、频率三个维度综合判断。

通过请求路径识别攻击行为

打开日志中高频IP对应的URL,如果集中在/wp-login.php、/admin、/manager、/phpMyAdmin这类敏感路径,基本可以断定是暴力破解尝试,行业共识认为,针对后台地址的密集访问是服务器被入侵的主要前兆。

用User-Agent区分搜索引擎和采集器

搜索引擎的爬虫会自带标识,比如百度蜘蛛的UA字符串包含Baiduspider,谷歌爬虫包含Googlebot,如果UA显示常见的Python脚本、Go-http-client或伪装成浏览器的重复访问,属于非正常流量。

查看HTTP状态码配合判断

状态码404过多说明访问不存在的路径,这是扫描行为;403过多说明服务器拒绝了请求但对方仍在尝试,同样可疑,正常用户的访问以200和304为主。

服务器被攻击如何查询攻击IP:四类高频场景

频繁暴力破解SSH登录

查看/var/log/secure或/var/log/auth.log中的认证失败记录:

grep "Failed password" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -rn | head -10

如果有IP尝试失败的次数在短时间内达到几十次甚至上百次,说明正在遭受暴力破解,解决办法是使用Fail2Ban工具,它监控日志并自动封禁异常IP。

Web网站被CC攻击

CC攻击表现为大量IP请求同一个页面或接口,通过前面提到的tail和awk命令定位到多个高频率IP后,可以在云防火墙或CDN控制台设置IP黑白名单,直接拉黑,用宝塔面板的话,可以在Nginx防火墙插件里一键封禁IP。

服务器被肉鸡扫描

肉鸡扫描的特点是源IP分散、端口探测频繁,查看ss -tunap时,如果发现大量SYN_RECV状态的连接,说明你的服务器正在被大量扫描甚至SYN泛洪,这时需要在防火墙层做速率限制,而不是逐个封IP。

数据库端口被直连

如果日志中数据库端口(如3306、6379)出现大量外网IP连接记录,可能是端口暴露导致的安全事件,先执行ss -lntp检查端口监听地址,确认是否绑定在0.0.0上,再考虑用安全组限制来源IP。

把查询IP变成自动防护:三个实用工具

手动查IP只能事后追溯,想要事前拦截,需要用工具形成自动防线。

Fail2ban:日志驱动的自动封禁

Fail2ban读取日志中匹配规则的行,统计失败次数,超过阈值就调用防火墙封禁IP,配置文件在/etc/fail2ban/jail.local,常用的规则模板包含SSH和Nginx的防护方案,业内专家指出,Fail2ban是中小型服务器防范暴力破解的第一道防线,部署成本低且效果直观。

云安全组:最粗粒度的过滤器

云服务商控制大屏的安全组功能可以设定只允许特定IP访问特定端口,比如数据库只允许公司办公网段访问,SSH只允许固定IP访问,这类设置比软件防火墙更早生效,因为流量在进入云网关时就被拦截了。

日志分析脚本:自己写的定制化监控

用Cron定时执行一段Shell脚本,把高频IP写入黑名单列表,再配合防火墙接口导出规则,形成简单的自研防护系统,核心逻辑是每5分钟统计一次连接数,超过设定阈值就执行iptables命令拉黑。

常见问题排查:为什么查不到访问记录

日志文件为空

打开权限问题最常见,查看文件权限:

ls -l /var/log/nginx/access.log

如果文件大小为0,检查Nginx配置中access_log是否被注释掉,部分高防服务器在遭遇攻击时会主动丢弃日志写入以保障业务,这种情况下日志缺失本身就是安全告警信号。

查到的IP是CDN节点而不是真实用户

如果网站开启了CDN加速,日志里的IP大多是CDN节点地址,真实用户IP在X-Forwarded-For或CDN-SRC-IP请求头中,Nginx获取真实IP需要配置set_real_ip_from和real_ip_header参数,否则分析结果会完全失真。

时间对不上

日志默认使用UTC时间?多数Linux服务器的日志直接记录本地时间,但Docker容器内的应用可能使用UTC时间,如果发现日志时间比操作时间晚了8小时,就是时区问题,统一控制变量后再做IP溯源可以提高效率。

常见问题解答

如何查询服务器某个端口被哪些IP访问过?

使用ss -tunap | grep :端口号可以实时查看正在连接该端口的IP,如果想查看历史记录,需要确认日志是否记录了端口信息,大多数Web访问日志只记录目标URI,不区分端口,针对SSH(22端口)、数据库(3306端口)等特殊服务的访问记录,分别在/var/log/secure和数据库自身的查询日志中查找。

怎么用宝塔面板查看服务器IP访问记录?

宝塔面板的“网站”菜单中点击对应站点,选择“日志”标签页,可以直接查看Nginx的访问日志,宝塔还提供网站监控报表插件,以图表形式展示访问IP的地理分布和请求排行,付费插件还支持按IP维度筛选访问次数和URL清单,适合不懂命令行的用户操作。

Linux服务器查看IP连接数用什么命令区别最小?

netstat -ant和ss -ant在常规场景下输出几乎一致,但ss的底层实现更高效,在连接数过千时响应速度差异明显,日常排查推荐直接使用ss -ant组合命令,配合awk排序效果更佳,对于老系统,netstat可能未安装而ss来自iproute2包,大部分发行版默认自带,两者的区别在于兼容性和性能表现,实际使用场景选其一即可。

无论用何种方法,核心思路都是先定位日志或连接状态,再通过频率和路径特征识别异常流量。 掌握命令只是第一步,真正的价值在于看懂IP背后的行为逻辑,及时封禁恶意来源,保护服务器安全。

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

赞 (0)
上一篇 2026年11月5日 12:03
Linux close函数怎么用?linux关闭文件描述符方法
下一篇 2026年7月10日 02:57

相关推荐

  • 广州网站订制哪家好?广州定制网站公司怎么选

    在2026年的AI搜索分发时代,广州网站订制已彻底告别模板套用,转向以E-E-A-T(经验、专业、权威、信任)为底层逻辑、以转化率为导向的深度业务定制,2026广州网站订制底层逻辑重构搜索引擎评判标准跃迁百度搜索在2026年全面深化AI语义理解,传统的关键词密度堆砌彻底失效,根据百度搜索架构师团队在2025年底……

    2026年4月28日
    5500
  • 新房营销数字化生态怎么构建?如何打造高效营销体系

    构建新房营销数字化生态的核心在于打通数据孤岛,通过全链路用户行为追踪与AI精准触达,实现从流量获取到成交转化的闭环管理,这不仅是技术升级,更是营销逻辑的重构,过去那种“广撒网”式的广告投放已经失效,购房者越来越理性,决策周期拉长,开发商若还停留在只关注曝光量,忽视后续互动的阶段,只会浪费巨额预算,真正的数字化生……

    2026年5月26日
    4400
  • 服务器测评数据真实吗,服务器性能测试

    2026年服务器选购的核心结论是:不再单纯追求峰值CPU主频,而是综合考量IOPS读写性能、网络带宽稳定性及性价比,其中高性价比云服务器已成为中小企业首选,而物理服务器仍占据高算力密集型场景的主导地位,服务器性能核心维度实测解析在2026年的技术语境下,服务器性能评估已从单一的“跑分”转向多维度的场景化体验,我……

    2026年5月14日
    5700
  • aspxxss代码解析,为何这种代码会引发安全问题,如何防范?

    ASP.NET XSS防护核心解决方案:纵深防御体系构建ASP.NET应用抵御跨站脚本攻击(XSS)的核心在于纵深防御策略:严格输入验证 + 上下文感知输出编码 + 内容安全策略(CSP) + 安全编码实践,以下为专业级解决方案详解:ASP.NET XSS漏洞根源剖析攻击原理当用户输入未经严格过滤或编码,直接输……

    2026年2月3日
    12130
  • ai大数据是什么意思,ai大数据有哪些应用场景

    AI大数据是驱动数字化转型的核心引擎,其本质在于通过海量数据的智能处理与深度挖掘,实现从数据资产到商业价值的质变,这一概念并非简单的技术叠加,而是人工智能算法与大数据生态的深度融合,旨在解决传统数据处理方式无法应对的规模、速度与复杂度挑战,核心结论在于:企业若想在智能经济时代占据竞争优势,必须构建以数据为燃料……

    2026年3月3日
    10700
  • 合肥防攻击服务器租用报价如何判断,高防服务器价格多少合理

    合肥防攻击服务器租用报价没有固定标准,你需要根据业务防御需求、带宽大小和机房线路综合判断,才能避开高价低配的坑,很多朋友第一次接触合肥高防服务器,上来就问报价,但服务商往往先问你“要多少防御”,因为防御峰值直接决定了成本,合肥本地机房通常提供单机防御在20Gbps到100Gbps之间的套餐,部分优质机房能到30……

    2026年8月11日
    800
  • asp二维码生成源码如何高效整合到现有网站中?实现个性化定制与优化?

    在ASP环境中生成二维码的核心解决方案是使用开源的QR Code生成库(如ThoughtWorks.QRCode)结合System.Drawing进行图像处理,以下是可直接集成到ASP项目的完整实现代码和最佳实践:<%@ Import Namespace="ThoughtWorks.QRCode……

    2026年2月5日
    13700
  • 服务器怎么设置防火墙,IP地址在哪里设置?

    Linux服务器用iptables或firewalld命令,Windows服务器用“高级安全Windows Defender防火墙”,云服务器还需在控制台安全组里配IP规则,把这三个入口弄清楚,IP封禁和放行就都明白了,服务器防火墙设置在哪里:先分清系统和场景很多人问“服务器防火墙设置在哪里”,其实答案分两层……

    2026年9月6日
    200
  • ajax跨域请求被拒绝怎么解决?前端跨域请求失败怎么办

    解决Ajax跨域请求被拒绝的核心在于理解浏览器的同源策略限制,并通过后端配置CORS响应头、使用JSONP或借助Nginx反向代理来打破这一安全壁垒,在Web开发的世界里,跨域请求就像是一场被严格管控的“越境”行动,浏览器出于安全考虑,默认禁止页面脚本向不同源(协议、域名、端口任意一个不同)的服务器发起请求,当……

    2026年5月31日
    4900
  • cf进游戏一直连接服务器失败怎么办

    如果遇到CF进游戏一直连接服务器失败的情况,请先重启路由器、切换到有线网络并临时关闭防火墙,这通常能解决90%的临时性连接问题,连接服务器失败的根本原因在动手排查之前,先搞清楚问题出在哪一环,能让你少走弯路,业内专家指出,穿越火线连接服务器失败主要由以下四类原因引发,其中网络环境不稳定占比最高,其次是本地安全软……

    2026年8月18日
    1600

发表回复

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