需结合日志查看与分析识别非法请求:一、面板内查访问日志;二、定位并解压原始日志文件用grep筛查;三、启用宝塔内置日志扫描功能;四、自定义Nginx日志格式增强溯源能力;五、用GoAccess进行交互式聚类分析。

如果您在宝塔面板中需要定位网站访问行为并识别潜在非法请求,则需结合日志查看与初步分析手段。以下是实现该目标的具体操作路径:
一、通过面板界面直接查看访问日志
宝塔面板提供图形化入口,可快速调取最近的原始访问记录,适用于即时排查异常IP或高频请求。该方式无需命令行操作,适合日常运维人员快速响应。
1、登录宝塔面板,在左侧菜单栏点击「网站」,进入已部署站点列表。
2、找到目标域名,点击其右侧的「日志」按钮,进入该网站专属日志管理页。
3、在日志页面中,点击「访问日志」区域的「查看」按钮,面板将加载最近1000条实时日志条目。
4、滚动浏览日志内容,重点关注状态码为403、404、499、500、502的请求行,以及User-Agent中含sqlmap、nuclei、dirsearch、wget -r、curl -v等特征字符串的条目。
二、通过文件系统定位原始日志文件
面板界面仅展示截断日志,完整原始文件保存于服务器磁盘,支持全文检索与批量筛选,是识别扫描器指纹和暴力请求的关键来源。
1、使用FTP客户端或SSH工具连接服务器,导航至目录:/www/wwwlogs/。
2、该目录下存在以域名命名的日志文件,格式为:yourdomain.com-access_log(未切割)或yourdomain.com-access_log-2026-03-13.gz(已压缩切割)。
3、若为.gz文件,先执行解压命令:gunzip yourdomain.com-access_log-2026-03-13.gz。
4、使用grep命令筛查非法请求模式,例如执行:grep -E "sqlmap|union.*select|\.php\?.*eval|/wp-admin/admin-ajax\.php.*action=" yourdomain.com-access_log。
三、启用并调用宝塔内置日志扫描功能
宝塔面板集成轻量级安全日志分析模块,可自动识别常见攻击特征,无需额外安装工具,适用于快速标记可疑行为。
1、在宝塔面板左侧菜单栏点击「日志」→「网站日志」,进入全局日志分析中心。
2、在「Web日志分析」区域,从下拉框中选择需检测的目标网站。
3、点击「日志扫描」按钮,系统将自动解析当日或最新一份日志文件。
4、扫描完成后,结果页将高亮列出:恶意爬虫IP、SQL注入尝试、XSS攻击片段、敏感路径访问(如/phpmyadmin/、/.git/config),并标注出现频次与首次时间。
四、配置Nginx日志格式增强非法请求识别能力
默认日志格式不记录请求体与真实客户端IP(经CDN或反向代理时),调整日志字段可提升溯源精度,尤其针对伪造Header或隐藏Payload的请求。
1、进入目标网站设置页,点击「配置文件」选项卡,找到Nginx配置段落。
2、在http块或server块中,确认已定义如下日志格式:log_format main '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for" "$request_body"';
3、确保access_log指令引用该格式,例如:access_log /www/wwwlogs/yourdomain.com-access.log main;
4、修改后点击右上角「保存」,再执行「重载配置」使新格式生效。后续日志将包含$http_x_forwarded_for与$request_body字段,便于追踪穿透代理的真实攻击源。
五、使用GoAccess进行交互式非法请求聚类分析
GoAccess支持实时终端可视化,能按IP、URL、状态码、User-Agent维度聚合统计,快速发现异常分布规律,适用于中等流量站点的深度筛查。
1、通过SSH以root身份执行:apt-get install goaccess -y(Debian/Ubuntu)或yum install goaccess -y(CentOS)。
2、运行分析命令,聚焦高危行为:goaccess /www/wwwlogs/yourdomain.com-access.log --log-format=COMBINED --agent-list --ignore-crawlers --no-term-resolver。
3、启动后按数字键「3」进入「Top IP Addresses」视图,观察请求次数远超均值的IP。
4、按「Shift+F」进入过滤模式,输入关键字如403或sqlmap,即可隔离显示全部匹配行。










