请求通过FortiGate API获取Nat耗尽及管理员哈希的方案
FortiGate API获取NAT Exhaustion状态及管理员Hash值方案
1. 获取NAT Exhaustion状态(含API执行CLI命令方法)
FortiGate REST API支持通过/api/v2/cmdb/system/console/exec端点执行CLI命令,这是获取无直接API对应数据的通用方案。
- 调用方式:发送POST请求,携带认证Token,请求体中指定要执行的CLI命令
- 示例请求(curl):
curl -X POST "https://<FORTIGATE_IP>/api/v2/cmdb/system/console/exec" \ -H "Authorization: Bearer <YOUR_API_TOKEN>" \ -H "Content-Type: application/json" \ -d '{"command": "show system session setting"}' - 解析返回结果:响应中的
output字段会包含CLI命令的输出,从中提取nat-exhaustion相关配置及状态即可。
2. 获取管理员用户的Hash值
管理员用户的加密密码(Hash值)可直接通过管理员列表API获取:
- 调用端点:
GET /api/v2/cmdb/system/admin - 示例请求(curl):
curl -X GET "https://<FORTIGATE_IP>/api/v2/cmdb/system/admin" \ -H "Authorization: Bearer <YOUR_API_TOKEN>" - 解析返回结果:每个管理员对象的
password字段即为对应的Hash值,注意需要有read-write或足够权限的API账号才能读取该字段。
注意事项
- 确保API账号拥有对应的权限:执行CLI命令需要
cli_access权限,读取管理员信息需要system_admin相关权限 - 验证FortiGate固件版本:部分旧版本可能不支持v2 API,建议使用6.4及以上版本的固件
内容的提问来源于stack exchange,提问作者Lars
相关产品推荐
相关产品推荐

