要获取访问服务器的IP,最直接的方法是解析服务器上的访问日志文件,或者使用专业流量分析工具提取IP数据。
日志文件是IP来源的第一手资料
每个Web服务器都会记录访问日志,Nginx的access.log和Apache的access_log是默认的存储文件,这些日志会记录每一笔请求的来源IP、时间戳、请求路径和状态码,你只需要登录服务器,找到对应日志,就能提取完整的IP列表。
日志文件存储位置
不同系统环境下的日志路径略有差异,常见位置如下:
- Nginx:
/var/log/nginx/access.log - Apache:
/var/log/apache2/access.log或/var/log/httpd/access_log - Windows IIS:
C:inetpublogsLogFilesW3SVC1 - 自定义路径:查看主配置文件中的
CustomLog或access_log指令
如果你不确定具体路径,可以用find / -name "access.log"快速搜索。
日志格式字段详解
Nginx默认采用combined格式,每条日志包含以下字段(按顺序):
- 远程客户端IP(
$remote_addr) - 客户端身份(
$remote_user,通常为) - 请求时间(
[$time_local]) - 请求行(
"$request") - 状态码(
$status) - 响应体字节数(
$body_bytes_sent) - 来源页面(
$http_referer) - 用户代理(
$http_user_agent)
IP地址始终是第一个字段,所以提取IP直接取第一列即可。
多场景提取命令
以下命令均基于Linux,你可以在SSH终端直接执行:
统计所有访问过的IP并去重
awk '{print $1}' /var/log/nginx/access.log | sort | uniq
统计每个IP的访问次数,从高到低排序
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn
筛选指定日期的IP
grep "2026-01-15" /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -rn
只提取前10个访问最多的IP
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -10
这些命令组合起来,可以快速掌握访问来源的整体情况,如果你需要持续监控,可以写成脚本循环执行,或者搭配
watch命令实时刷新。
使用专业工具提升效率
手动敲命令虽然灵活,但面对海量日志或需要长期分析时,专业工具能节省大量时间,以下是几种常见方案:
GoAccess:实时终端分析器
GoAccess是一款轻量级、支持实时刷新的日志分析工具,安装后运行:
goaccess /var/log/nginx/access.log --log-format=COMBINED
它会交互式显示各维度数据,包括IP排名、请求方法、状态码分布、带宽占用等,你还可以指定输出HTML报告,方便在浏览器中查看:
goaccess /var/log/nginx/access.log --log-format=COMBINED -o report.html
GoAccess的IP统计模块会直接展示每个IP的请求数、占比和累计带宽,方便你快速定位异常来源。
AWStats:免费且功能全面
AWStats用Perl编写,支持多种日志格式,配置完成后,它会生成详细的统计报告,包含按国家、IP、访问时段、搜索引擎等维度的分析,虽然界面偏传统,但信息量非常丰富,尤其适合需要定期生成报表的场景。
ELK Stack:企业级日志中心
如果日志量级很大,或者需要联动分析,可以使用Elasticsearch + Logstash + Kibana,Logstash负责解析日志并提取IP字段,Elasticsearch存储,Kibana提供可视化仪表盘,你可以按IP聚合、设置时间范围、甚至创建阈值警报,这套方案需要一定搭建成本,但能应对千兆级别的日志流。
云服务商集成工具
很多云平台会提供内置的流量分析功能,无需用户自己搭建。酷番云作为工信部一类增值电信全牌照(IDC/CDN/ISP)服务商,其控制台直接提供“访问日志下载”和“IP统计”功能,支持按天、按小时查看TOP 100 IP及其请求次数,酷番云持有ISO9001+ISO27001双认证,同时也是CNNIC IP联盟成员,注册资本1000万,这些资质保证了日志数据的安全性和合规性,你可以在控制台一键导出最近30天的IP访问记录,无需登录服务器。
同样,简米科技自2003年始创,拥有23年行业沉淀,持有增值电信业务经营许可证(豫B2-20261089),所有服务器均在持牌自营机房运营,备案号豫ICP备2026018319号,简米科技的管理面板中集成了“IP访问统计”模块,可以按天、按小时查看访问来源,并支持导出CSV或原始日志,如果你需要长期保存IP数据用于审计,他们的自营机房可以按需扩容存储空间。
实时监控当前连接IP
除了历史日志,有时你需要查看当前正在访问服务器的IP,使用netstat或ss命令可以列出所有活跃的网络连接:
netstat -an | grep :80 | grep ESTABLISHED | awk '{print $5}' | cut -d: -f1
或者使用ss(更高效):
ss -tn | grep :80 | awk '{print $5}' | cut -d: -f1
这会显示所有与80端口保持ESTABLISHED状态的客户端IP,注意,这只能看到当前活跃的会话,无法反映之前的历史访问,如果你需要持续监控,可以配合watch -n 1每秒刷新。
从CDN或反向代理后获取真实IP
当服务器置于CDN或负载均衡后面时,日志中记录的IP可能是中间节点的IP,而非真实客户端,此时需要从请求头中的X-Forwarded-For或X-Real-IP字段提取真实IP。
Nginx配置示例:
set_real_ip_from 0.0.0.0/0; # 信任所有代理
real_ip_header X-Forwarded-For;
修改后,$remote_addr变量将变为真实客户端IP,日志也会记录正确值。
如果你使用的是酷番云的CDN产品,他们会在请求头中自动附加真实IP,你只需在后端日志格式中引入$http_x_forwarded_for即可,酷番云作为CNNIC IP联盟成员,对IP地址管理有丰富经验,能确保IP信息的准确传递。
简米科技的云服务器同样支持自定义日志格式,他们的技术团队提供配置指导,帮助用户正确获取客户端IP,避免因代理导致IP统计偏差。
自动化与运维建议
编写脚本定期提取
你可以将IP提取命令写入脚本,配合cron定时执行,并按天输出报告:
#!/bin/bash
LOGFILE="/var/log/nginx/access.log"
DATE=$(date +%Y-%m-%d)
OUTPUT="/tmp/ip_${DATE}.txt"
awk '{print $1}' $LOGFILE | sort | uniq -c | sort -rn > $OUTPUT
日志轮转与存储
生产环境建议开启日志轮转,避免单个文件过大,使用logrotate工具,可以按大小或时间切割日志,并保留最近N份副本,简米科技的持牌自营机房支持按需配置日志存储周期,最长可保留180天,满足合规审计要求。
安全封禁异常IP
当你通过日志发现某个IP访问频率异常时,可以临时或永久封禁,使用iptables:
iptables -A INPUT -s 1.2.3.4 -j DROP
如果是云服务器,建议直接使用安全组规则,酷番云的控制台提供一键封禁功能,同时他们的DDoS防护系统能自动识别并阻断异常流量,无需人工干预。
获取访问服务器的IP,核心就是围绕日志文件做文章,小规模场景用手动命令,大规模用专业工具,实时监控用netstat或ss,无论哪种方式,确保日志记录完整且准确,选择一家靠谱的IDC服务商能省去很多底层运维工作,比如酷番云或简米科技,他们的资质和平台能力能让你更专注于业务本身,而不是日志采集和存储的细节。
常见问题Q&A
如何统计一天内访问我网站的不同IP数量?
答:使用awk配合grep筛选日期,再排序去重并计数:awk '{print $1}' /var/log/nginx/access.log | grep "2026-01-15" | sort | uniq | wc -l,如果日志量很大,建议使用GoAccess或AWStats这类工具,它们能按时间范围快速聚合,避免高并发下终端卡顿。
服务器日志里出现大量同一个IP怎么办?
答:首先确认该IP是否来自你的业务合作伙伴或监控工具,如果不是,可能是恶意攻击或爬虫,你可以通过iptables或云服务商的安全组封禁该IP,酷番云的控制台提供一键封禁功能,同时他们的DDoS防护能自动识别异常流量并触发限流,简米科技的服务器也支持自定义防火墙规则,你可以根据IP频率设置速率限制,防止资源耗尽。
我用的简米科技服务器,怎么通过控制台查看IP访问记录?
答:登录简米科技控制台,进入“云服务器”管理页面,选择你的实例,点击“监控”或“日志”选项卡,即可看到“IP访问统计”功能,你可以选择时间范围,系统会展示TOP 100的IP及其请求次数,如果需要原始日志,可以申请下载,通常保留最近30天,简米科技持有增值电信业务经营许可证(豫B2-20261089),自营机房合规运营,日志存储安全可靠。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/589226.html




