跳到主要内容
版本:1.15.0

Agent 管理

使用流程
  1. 使用 Agent 列表接口或 Agent 列表接口获取 AgentidtokenAgent列表接口会包含全部的 Agent 数据,而 Agent 简易列表接口只包含 AgentidAgent 名
  2. 使用 Agent 启动接口与 Agent 停止接口控制 Agent 的状态
  3. 使用 Agent 删除接口删除不需要的 Agent 数据(会清除相关联的漏洞数据和检测历史)
额外
  • 可以使用 Agent 别名 修改接口修改 Agent 名

Agent 删除

  • API Path/api/v1/agent/{id}/delete

  • 请求方法GET

  • 详细说明: 通过条件删除指定的项目版本

  • REST 参数

    参数名说明必填类型值可能性限制示例
    id[int]
  • 请求内容

    /api/v1/agent/2113/delete
  • 响应内容

    {
    "status": 201,
    "msg": "agent及相关数据删除成功"
    }
  • 返回结果Json Object

    参数名说明必填类型值可能性限制示例
    status状态码:201、202[int]
    msg状态信息:删除过程出错,请稍后重试、agent及相关数据删除成功、agent不存在或无权限访问[string]

Agent 别名修改

  • API Path/api/v1/agent/alias/modified

  • 请求方法POST

  • 详细说明: 修改 Agent 别名

  • 请求参数: Json Object

    参数名说明必填类型值可能性限制示例
    idAgent 的对应 ID[int]
    aliasAgent 的别名[string]
  • 请求内容

    /api/v1/agent/alias/modified
    {
    "id": 226,
    "alias": "Mac OS X-owefsad.local-v1.0.0-c6f8a6358d0c47c7a7ee51c3dd88a489123"
    }
  • 响应内容

    {
    "status": 201,
    "msg": "修改成功"
    }
  • 返回结果

    Json Object

    参数名说明必填类型值可能性限制示例
    status状态码:201、202[int]
    msg状态信息:删除过程出错,请稍后重试、agent不存在或无权限访问、修改成功[string]

Agent 列表

  • API Path/api/v1/agents

  • 请求方法GET

  • 详细说明: 基于所给条件获取 Agent 信息列表

  • Query 参数

    参数名说明必填类型限制示例
    page[int]
    pageSize[int]
    project_name[string]
    state[int]
    token[string]
  • 请求内容

    /api/v1/agents?page=1&pageSize=10&state=1&token=a
  • 响应内容

    {
    "status": 201,
    "msg": "success",
    "data": [
    {
    "id": 2087,
    "token": "Darwin 18.7.0-bogon-v1.0.6-bd6a6c04c8cc440a9a997ed7c928dfc4",
    "server": "Agent暂未检测到流量",
    "running_status": "运行中",
    "system_load": "{\"rate\": 15.9}",
    "owner": "admin",
    "latest_time": 1635488528,
    "project_name": "Songtest1203",
    "is_core_running": 0,
    "language": "PYTHON",
    "flow": 1,
    "is_control": 1,
    "report_queue": 0,
    "method_queue": 0,
    "replay_queue": 0,
    "alias": "Darwin 18.7.0-bogon-v1.0.6-bd6a6c04c8cc440a9a997ed7c928dfc4",
    "register_time": 1635387261,
    "startup_time": 0
    },
    {
    "id": 2083,
    "token": "Windows 10-cain-v1.0.6-dongtai-agent-python",
    "server": "Agent暂未检测到流量",
    "running_status": "运行中",
    "system_load": "{\"rate\": 5.4}",
    "owner": "admin",
    "latest_time": 1635483334,
    "project_name": "lost004",
    "is_core_running": 1,
    "language": "PYTHON",
    "flow": 0,
    "is_control": 1,
    "report_queue": 0,
    "method_queue": 0,
    "replay_queue": 0,
    "alias": "Windows 10-cain-v1.0.6-dongtai-agent-python",
    "register_time": 1635489059,
    "startup_time": 189
    }
    ],
    "page": {
    "alltotal": 3,
    "num_pages": 1,
    "page_size": 10
    }
    }
  • 返回结果Json Object

    参数名说明必填类型值可能性限制示例
    data[array]
    status状态码:201[int]
    msg状态信息:success[string]
    参数名说明必填类型值可能性示例
    id[int]
    token[string]
    server[string]
    running_status[string]
    system_load[string]
    owner[string]
    latest_time[int]
    project_name[string]
    is_core_running[int]
    language[string]
    flow[string]
    is_control[int]
    report_queue[string]
    method_queue[string]
    replay_queue[string]
    alias[string]
    register_time[string]
    startup_time[int]

Agent 启动

  • API Path/api/v1/agent/start

  • 请求方法POST

  • 详细说明: 通过指定 id 来启动停止的 Agent

  • 请求参数Json Object

    参数名说明必填类型值可能性限制示例
    idAgent 的对应 ID[int]
    idsAgents 对应的 ID,使用 "," 进行切分。[string]
  • 请求内容

    /api/v1/agent/start
    {
    "id": 1
    }
  • 响应内容

    {
    "status": 201,
    "msg": "正在启动..."
    }
  • 返回结果Json Object

    参数名说明必填类型值可能性限制示例
    status状态码:201[int]
    msg状态信息:正在暂停...[string]

Agent 停止

  • API Path/api/v1/agent/stop

  • 请求方法POST

  • 请求参数Json Object

    参数名说明必填类型值可能性限制示例
    idAgent 的对应 ID[int]
    idsAgents 对应的 ID,使用 "," 进行切分。[string]
  • 请求内容

    /api/v1/agent/start
    {
    "id": 1
    }
  • 响应内容

    {
    "status": 201,
    "msg": "正在暂停..."
    }
  • 返回结果Json Object

    参数名说明必填类型值可能性限制示例
    status状态码:201[int]
    msg状态信息:正在暂停...[string]

Agent 详情

  • API Path/api/v1/agent/{id_}

  • 请求方法GET

  • 详细说明: 通过条件删除指定的项目版本

  • REST 参数

    参数名说明必填类型值可能性限制示例
    id_[int]
  • 请求内容

    /api/v1/agent/2113
  • 响应内容

    {
    "status": 201,
    "msg": "success",
    "data": {
    "agent": {
    "id": 2113,
    "token": "Mac OS X-localhost-v1.0.6-30a7571c06ec4df99e306f7fa8735e49",
    "version": "v1.0.6",
    "latest_time": 1635475404,
    "user": 208,
    "server": 1971,
    "is_running": 1,
    "is_core_running": 1,
    "control": 0,
    "is_control": 0,
    "bind_project_id": 141,
    "project_name": "SecExample",
    "online": 0,
    "project_version_id": 177,
    "language": "JAVA",
    "alias": "",
    "startup_time": 2938,
    "register_time": 1635478601
    }
    }
    }
  • 返回结果Json Object

    参数名说明必填类型值可能性限制示例
    data[object]
    status状态码:201 ;[int]
    msg状态信息:success ;[string]
    参数名说明必填类型值可能性限制示例
    agent[object]
    参数名说明必填类型值可能性示例
    idAgent的 ID[string]
    tokenAgent 名称[string]
    versionAgent 版本[string]
    latest_timeAgent 的最后更新时间[int]
    is_runningAgent 的运行状态[int]
    is_core_runningAgent 的运行状态[int]
    controlAgent 状态位,1 代表安装,2 代表卸载,0 代表失去控制[int]
    is_control表示是否受控,0 代表否,1 代表是[int]
    bind_project_id绑定的项目 ID,如果存在则 Agent 被绑定[int]
    project_name项目名,用来初次启动 Agent 并创建项目[string]
    online1 代表运行中,0 代表离线,同一 token 的 Agent 只能有一个在线[int]
    project_version_id绑定项目的版本 ID,若果存在,则 Agent 被绑定[int]
    language项目中所涉及的 Agent 对应的语言[string]