查询攻击流量top统计数据,攻击流量按照一定维度聚合统计并排序后返回topN数据。
接口说明
攻击流量指的是命中规则并且被判定为有风险的请求。如下三种数据不包含:
命中“白名单规则”的请求。
命中 bot 规则,但是规则动作为“回源标记”的请求。
命中规则并且规则动作为“动态令牌”/“滑块”/“严格滑块”/“js 验证”,但是用户校验通过并放行的请求。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息
操作 |
访问级别 |
资源类型 |
条件关键字 |
关联操作 |
yundun-waf:DescribeSecurityEventTopNMetric |
get |
*全部资源
|
无 | 无 |
请求参数
名称 |
类型 |
必填 |
描述 |
示例值 |
InstanceId |
string |
是 |
WAF 实例的 ID。 说明
您可以调用 DescribeInstance 查询当前 WAF 实例的 ID。 |
waf_cdnsdf3**** |
Filter |
object |
是 |
查询过滤条件,多个过滤条件之间是逻辑与的关系。 |
|
DateRange |
object |
是 |
查询时间范围。 |
|
StartDate |
integer |
是 |
查询的数据范围不超过过去 30 天。查询数据时使用的开始时间,使用 UNIX 时间戳表示,单位:秒。 说明
开始时间必须晚于当前时间减去 30 天。 |
1713888000 |
EndDate |
integer |
是 |
查询数据时使用的结束时间,使用 UNIX 时间戳表示,单位:秒。 |
1713888600 |
Conditions |
array |
否 |
过滤条件列表,每一个节点描述一个过滤条件。 |
|
object |
否 |
单个查询条件配置,查询条件由字段名称、操作符和过滤内容组成。关于查询条件中支持的字段名称以及操作符请参见请求参数补充说明。 |
||
Key |
string |
否 |
执行过滤操作的字段名称,该接口支持所有字段。 |
matched_host |
OpValue |
string |
否 |
操作符。 |
eq |
Values |
any |
否 |
过滤值。 |
test.waf-top |
Limit |
integer |
是 |
控制统计数据按照降序排序后返回数据条数,最大值为 10。 |
10 |
Metric |
string |
是 |
用于区分返回的数据内容,不同的 Metric 对应不同的数据内容,该接口支持的 Metric 如下: 说明
“攻击请求”的定义参见 API 接口描述,下面的描述中引用该概念
|
real_client_ip |
RegionId |
string |
否 |
WAF 实例所属地域。取值:
|
cn-hangzhou |
ResourceManagerResourceGroupId |
string |
否 |
阿里云资源组 ID。 |
rg-acfm***q |
操作符说明
操作符 | 含义 | 说明 |
all-not-match | 不等于任一值 | 字段值和数据集合中的任意数据都不相等,例如过滤 real_client_ip 不等于集合中任一值:{"Key":"real_client_ip","OpValue":"all-not-match","Values":["1.1.1.1","2.2.2.2","3.3.3.3"]} |
contain | 包含 | 字段值包含某个字符串,例如过滤 URL 包含"test"的数据:{"Key":"request_path","OpValue":"contain","Values":"test"} |
eq | 等于 | 字段值等于某个字符串,例如过滤 URL 等于"/testcase"的数据:{"Key":"request_path","OpValue":"eq","Values":"/testcase"} |
match-one | 等于多值之一 | 字段值和数据集合中的任意一数据相等,例如过滤 real_client_ip 等于集合中任一值:{"Key":"real_client_ip","OpValue":"match-one","Values":["1.1.1.1","2.2.2.2","3.3.3.3"]} |
ne | 不等于 | 字段值不等于某个字符串,例如过滤 URL 不等于"/testcase"的统计数据:{"Key":"request_path","OpValue":"ne","Values":"/testcase"} |
not-contain | 不包含 | 字段值不包含某个字符串,例如过滤 URL 不包含"test"的数据:{"Key":"request_path","OpValue":"not-contain","Values":"test"} |
prefix-match | 前缀匹配 | 字段值以某个字符串作为前缀,例如滤 URL 前缀是"/testcase"的数据:{"Key":"request_path","OpValue":"prefix-match","Values":"/testcase"} |
suffix-match | 后缀匹配 | 字段值以某个字符串作为后缀,例如过滤 URL 后缀是"/testcase"的数据:{"Key":"request_path","OpValue":"suffix-match","Values":"/testcase"} |
过滤条件支持的 Key
字段名称 | 字段含义 | 支持的操作符 |
action | 防护动作,即该请求最终被处置的动作。 | ne、eq |
cluster | 防护集群。 | ne、eq、 match-one、 all-not-match |
defense_scene | 防护模块,一条请求可能命中多个防护模块,使用该字段过滤出的请求可能也会同时命中其它模块。 | ne、eq |
host | http 头部的 host。 | contain、 not-contain、ne、eq、match-one、all-not-match、prefix-match、suffix-match |
http_cookie | http 头部的 cookie。 | contain、 not-contain、ne、eq、match-one、 all-not-match、prefix-match、suffix-match |
http_user_agent | http 头部获取的 User-Agent。 | contain、 not-contain、ne、eq、match-one、 all-not-match、prefix-match、suffix-match |
matched_host | 防护对象。 | ne、eq、 match-one、 all-not-match |
real_client_ip | 请求源 IP,操作符后跟随的参数只能是 IP 地址字符串或者 IP 地址字符串列表,不支持网段查询。 | ne、eq、 match-one、 all-not-match |
remote_country_id | http 请求源 IP 归属国家。 | ne、eq、 match-one、 all-not-match |
remote_region_id | http 请求源 IP 省市。 | ne、eq、 match-one、 all-not-match |
request_method | http 请求方法。 | ne、eq、 match-one、 all-not-match |
request_path | http 请求 URL,不包含 query。 | contain、 not-contain、ne、eq、match-one、 all-not-match、prefix-match、suffix-match |
request_traceid | 标识请求的唯一 ID。 | ne、eq、 match-one、 all-not-match |
rule_id | 规则 ID,一条请求可能命中多条规则,使用该字段过滤出的请求可能也会同时命中其它规则。 | ne、eq |
返回参数
名称 |
类型 |
描述 |
示例值 |
object |
返回的数据结果,格式样例参见示例。 |
||
RequestId |
string |
请求 ID。 |
D827FCFE-90A7-4330-9326-*****B4C7726 |
SecurityEventTopNValues |
array<object> |
返回的 top 统计数据数组。 |
|
object |
每一个点对应一条 top 统计数据。 |
||
Name |
string |
某个字段的值,根据查询的 Metric 不同,代表不同的含义。 |
10000 |
Attribute |
string |
用于返回额外的信息,比如返回规则 ID 所属的防护模块。 |
waf_base |
Value |
integer |
用于 top 排序的统计计数。 |
1111 |
TopNMetaData |
object |
返回数据的元信息。 |
|
DateRange |
object |
查询时使用的时间范围。 |
|
StartDate |
integer |
查询数据时使用的开始时间,使用 UNIX 时间戳表示,单位:秒。该值和入参数重的 StartDate 一致。 |
1713888000 |
EndDate |
integer |
查询数据时使用的结束时间,使用 UNIX 时间戳表示,单位:秒。该值和入参数重的 EndDate 一致。 |
1713888600 |
Units |
string |
返回的统计数据的单位。 |
requests |
示例
正常返回示例
JSON
格式
{
"RequestId": "D827FCFE-90A7-4330-9326-*****B4C7726\n",
"SecurityEventTopNValues": [
{
"Name": "10000",
"Attribute": "waf_base\n",
"Value": 1111
}
],
"TopNMetaData": {
"DateRange": {
"StartDate": 1713888000,
"EndDate": 1713888600
},
"Units": "requests\n"
}
}
错误码
HTTP status code |
错误码 |
错误信息 |
描述 |
---|---|---|---|
400 | Waf.Report.%s | Invalid parameter:%s. | 无效的参数:%s |
400 | Waf.Report.InternalError | Server error occurred in report service. | 报表服务内部错误 |
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。