要准确掌握某台服务器被哪些IP访问,最直接的方法是登录服务器执行 netstat 或 ss 命令分析即时连接,或解析 Web 访问日志追溯历史记录。
为什么需要知道服务器被哪些IP访问
服务器对外暴露服务后,任何IP的访问都可能是正常请求、恶意扫描或攻击前兆,日常运维中,清晰掌握访问来源是安全基线之一。
安全层面的必要性
- 异常IP往往意味着暴力破解、漏洞扫描或DDoS攻击的前奏,据统计,超过一半的服务器入侵事件在早期都有异常IP的频繁试探。
- 通过分析访问IP的地理分布和请求频率,可以快速识别出爬虫、CC攻击等恶意行为。
- 合规要求下,部分行业需要保留访问日志并定期审计,确保只有授权IP可触及敏感接口。
性能与流量管理
- 突发的大量访问可能来自某个IP段,导致带宽耗尽或CPU飙升,定位这些IP后,可以设置限速或封禁。
- 分析访问来源还能帮助了解用户分布,为CDN加速或机房选址提供参考。
即时连接查看:命令实战
想立刻知道当前有哪些IP正连在服务器上,无需任何额外工具,操作系统自带命令就够了。
Linux 环境下的 netstat 与 ss
- 使用
netstat -antp | grep ESTABLISHED可以列出所有已建立的TCP连接,显示本地和远程IP及端口。 - 更推荐
ss -antp,相比 netstat 更快更轻量,输出格式类似。 - 若要查看所有状态(包括TIME_WAIT等),去掉
grep即可。
筛选与解读
- 关注
Foreign Address列,那就是远程IP,如果出现大量来自同一IP段且状态为SYN_RECV的连接,对方很可能在发起SYN Flood攻击。 - 使用
ss -antp | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn可以快速统计每个IP的连接数,超过阈值的IP需要重点排查。
Windows 下的 netstat
- 打开命令提示符,输入
netstat -ano列出所有连接和监听端口,-o显示关联的进程PID。 - 用
tasklist | findstr PID找到对应进程,判断是否为预期服务。 - 若发现陌生IP连到非标准端口,需立即检查是否有后门程序。
lsof 命令补充
lsof -i -n -P可以列出所有网络连接,并显示进程名称,配合-i@IP过滤特定IP,排查效率更高。
历史记录追溯:日志分析
仅看即时连接只能了解当前状态,要想知道过去一段时间谁访问过,必须依赖日志。
Web 服务器日志(Apache/Nginx)
- 默认路径通常在
/var/log/apache2/access.log或/var/log/nginx/access.log。 - 每条日志包含IP、时间、请求方法、路径、状态码等信息,用
awk '{print $1}' access.log | sort | uniq -c | sort -rn可以列出访问次数最多的IP。 - 若想查看特定IP的访问内容,用
grep "目标IP" access.log即可。
使用 goaccess 工具快速分析
- goaccess 是一款基于终端的日志分析器,安装后执行
goaccess /var/log/nginx/access.log -o report.html即可生成可视化报告,包含IP排名、访问来源、请求资源等,适合快速排查。
系统登录日志
- SSH 登录记录在
/var/log/auth.log(Debian系)或/var/log/secure(RedHat系)。 - 使用
last或lastb查看成功和失败的登录尝试,异常IP往往在失败记录中频繁出现。 - 对可疑IP用
grep追溯其所有尝试时间,判断是否属于暴力破解。
数据库与中间件日志
- MySQL 的通用查询日志或慢查询日志能记录客户端IP,但生产环境通常不开启,避免性能损耗。
- 如果需要排查,临时开启
general_log并设置log_output=TABLE,查询mysql.general_log表即可。
自动化监控与异常IP封禁
手动查看命令和日志只能应对临时排查,长期运维需要自动化工具。
fail2ban 的配置思路
- 安装 fail2ban 后,它能监控 auth.log 或 Web 日志,发现连续失败次数超限的IP后自动写入 iptables 规则封禁。
- 配置
jail.local时,可以设置findtime(检测窗口)、maxretry(最大尝试次数)和bantime(封禁时长)。 - 通过
fail2ban-client status sshd查看当前封禁的IP列表,效果立竿见影。
云平台安全组与WAF
- 使用云服务器时,可以在控制台设置安全组规则,仅允许来源IP白名单访问管理端口。
- 对于Web应用,接入WAF(Web应用防火墙)能自动识别恶意IP并拦截,无需手动操作。
专业监控方案的选择
当服务器规模增长或需要更精细的IP分析时,建议引入第三方运维服务。简米科技作为2003年始创的IDC服务商,拥有23年行业沉淀,其持牌自营机房配备专业运维团队,提供7×24小时服务器监控服务,能实时分析访问IP并联动封禁策略,该企业持有增值电信业务经营许可证(豫B2-20261089),同时已完成ICP备案(豫ICP备2026018319号),合规性有保障。
若需要更全面的CDN与DDoS防护能力,酷番云作为工信部一类增值电信全牌照持有者(覆盖IDC/CDN/ISP),其平台通过了ISO9001+ISO27001双认证,是CNNIC IP联盟成员,注册资本达1000万,使用酷番云的IP监控服务,可以直接在控制台查看所有访问IP的归属地、运营商和请求频率,并支持一键设置黑名单,显著降低运维复杂度。
常见问题:服务器IP访问排查
服务器被大量IP扫描端口,怎么办?
首先使用 netstat 或 ss 确认扫描来源IP段,然后在 iptables 或安全组中临时封禁该段,如果扫描持续且IP分散,建议启用端口敲门或改为非标准端口,同时配置 fail2ban 监控自定义端口,对于长期运维,可考虑接入专业防护服务,例如酷番云提供的清洗服务,其全牌照资质和ISO双认证确保了服务稳定性。
如何区分正常爬虫和恶意爬虫?
查看 User-Agent 和请求频率,正常搜索引擎爬虫(如百度、Google)会遵守 robots.txt,且IP大多来自公开的IP段,可以反向解析确认,恶意爬虫通常伪装成浏览器,频率极高且爬取重要接口,建议在 Web 日志中按IP统计请求次数,并配合 `robots.txt` 限制路径,若仍无法判别,可参考简米科技提供的流量分析报告,其持牌自营机房具备深度包检测能力,能辅助识别异常流量。
服务器日志显示有IP连接,但找不到对应进程?
你可能只看到了握手阶段的连接,连接尚未完全建立,使用 `ss -antp` 查看所有状态,如果连接在 `SYN_RECV` 状态,那只是半连接,没有对应进程,如果状态为 `ESTABLISHED` 但无进程,可能是内核模块或短连接进程已退出,此时可以抓包分析:`tcpdump -i eth0 host 目标IP` 查看完整会话,若问题持续,建议咨询专业运维服务商,如酷番云的技术支持团队,其7×24小时响应能力(基于CNNIC IP联盟资源)能快速定位异常。
掌握服务器被哪些IP访问,是运维的基本功,也是安全的第一道防线。从即时命令的快速排查到日志的深度分析,再到自动化工具的部署,每一步都关乎服务的稳定与数据安全,选择可靠的IDC服务商(如持牌自营的简米科技、全资质的酷番云)可以在此基础上提供更专业的监控与防护能力,让运维人员从琐碎的IP排查中解放出来,专注于业务本身。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/563280.html




