You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenVAS扫描启动报错400 (Bad Request)问题排查求助

排查OpenVAS扫描启动400错误的步骤

1. 校验前端请求数据

  • 打开浏览器开发者工具的Network标签,查看POST http://localhost:5000/api/scan/start请求的请求体和Content-Type:
    • 确认Content-Type与后端接口要求匹配(比如后端接收JSON的话,前端要传application/json)
    • 检查请求体字段是否完整、拼写正确,比如后端要求target_ip,前端不能写成targetIP
  • 查看Dashboard.js中发起请求的代码,确认参数构造逻辑是否正确,有没有遗漏必填项(如目标地址、扫描配置ID)

2. 检查后端参数处理逻辑

  • 查看scanController.js:
    • 确认是否对必填参数做了校验(比如判断目标IP是否为空、格式是否合法)
    • 检查400错误的返回内容,后端是否明确返回了错误原因(比如res.status(400).json({error: '缺少目标IP'}),可在Network的Response中查看)
  • 查看index.js:确认是否配置了express.json()或express.urlencoded(),确保后端能正确解析请求体

3. 验证OpenVAS容器状态与连接

  • 执行docker logs <openvas容器名>查看容器日志,确认OpenVAS服务是否正常启动,有没有认证失败、API接口未就绪的报错
  • 检查docker-compose.yml:
    • 确认OpenVAS的端口映射、服务名配置正确,后端代码中调用OpenVAS的地址(比如http://openvas:9392)是否与容器服务名一致
    • 确认后端配置的OpenVAS用户名、密码或API密钥正确,拥有启动扫描的权限

4. 核对后端路由配置

  • 查看scanRoutes.js:确认/api/scan/start对应的请求方法是POST,没有写成GET或其他方法
  • 查看index.js:确认扫描路由已正确挂载(比如app.use('/api/scan', scanRoutes))

5. 直接测试后端接口

用curl或Postman绕过前端,直接调用后端接口,判断问题出在前端还是后端:

curl -X POST http://localhost:5000/api/scan/start \
-H "Content-Type: application/json" \
-d '{"target": "127.0.0.1", "configId": "daba56c8-73ec-11df-a475-002264764cea"}'
  • 如果直接调用仍返回400,说明问题在后端参数校验或OpenVAS连接逻辑
  • 如果调用成功,说明前端请求的参数或格式有误

内容的提问来源于stack exchange,提问作者ESTIVEN DE MOYA SUAREZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 19:06:00