
# 查看自定义IPS规则列表 - ListCustomerIps
#### 功能介绍
查看自定义IPS规则列表
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-cfw/cfw_02_0007.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-cfw/cfw_02_0018.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
 
#### URI
GET /v1/{project_id}/ips/custom-rule
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释**： 项目ID，用于明确项目归属，配置后可通过该ID查询项目下资产，可以从调API处获取，也可以从控制台获取。[项目ID获取方式](https://support.huaweicloud.com/api-cfw/cfw_02_0015.html) **约束限制**： 不涉及 **取值范围**： 32位UUID **默认取值**： 不涉及 |
   
表2Query参数 
| 参数                    | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| action_type           | 否    | Integer | **参数解释**： 自定义IPS规则执行动作,仅更新自定义IPS规则场景下需要设置，其他场景无需设置 **约束限制**： 不涉及 **取值范围**： 0：只记录日志 1：重置/拦截 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| affected_os           | 否    | Integer | **参数解释**： 影响操作系统 **约束限制**： 不涉及 **取值范围**： 0：ANY 1：Windows 2：Linux 3：FreeBSD 4：Solaris 5：Other Unix 6：网络设备 7：Mac OS 8：IOS 9：Android 10：Others **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| attack_type           | 否    | Integer | **参数解释**： 攻击类型 **约束限制**： 不涉及 **取值范围**： 1：访问控制 2：漏洞扫描 3：邮件攻击 4：漏洞攻击 5：Web攻击 6：密码攻击 7：劫持攻击 8：协议异常 9：特洛伊木马 10：蠕虫 11：缓冲区溢出 12：黑客工具 13：间谍软件 14：DDos泛洪 15：应用层DDos攻击 16：其他可疑行为 17：可疑DNS活动 18：网络钓鱼 19：垃圾邮件 20：其他攻击 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| ips_name              | 否    | String  | **参数解释**： ips规则名称 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ips_id                | 否    | String  | **参数解释**： ips规则ID， 可通过调用获取ips规则列表获取，通过data.records.ips_cfw_id获取。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| protocol              | 否    | Integer | **参数解释**： 协议类型 **约束限制**： 不涉及 **取值范围**： 1：FTP 2：TELNET 3：SMTP 4：DNS_TCP 5：DNS_UDP 6：DHCP 7：TFTP 8：FINGER 9：HTTP 10：POP3 11：SUNRPC_TCP 12：SUNRPC_UDP 13：NNTP 14：MSRPC_TCP 15：MSRPC_UDP 16：NETBIOS_NAME_TCP 17：NETBIOS_NAME_UDP 18：NETBIOS_SMB 19：NETBIOS_DATAGRAM 20：IMAP4 21：SNMP 22：LDAP 23：MSSQL 24：ORACLE **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| severity              | 否    | Integer | **参数解释**： 严重程度 **约束限制**： 不涉及 **取值范围**： 0：致命 1：高危 2：中危 3：低危 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| software              | 否    | Integer | **参数解释**： 影响软件 **约束限制**： 不涉及 **取值范围**： 0：ANY 1：ADOBE 2：APACHE 3：APPLE 4：CA 5：CISCO 6：GOOGLE_CHROME 7：HP 8：IBM 9：IE 10：IIS 11：MC_AFEE 12：MEDIA_PLAYER 13：MICROSOFT_NET 14：MICROSOFT_EDGE 15：MICROSOFT_EXCHANGE 16：MICROSOFT_OFFICE 17：MICROSOFT_OUTLOOK 18：MICROSOFT_SHARE_POINT 19：MICROSOFT_WINDOWS 20：MOZILLA 21：MSSQL 22：MYSQL 23：NOVELL 24：ORACLE 25：SAMBA 26：SAMSUNG 27：SAP 28：SCADA 29：SQUID 30：SUN 31：SYMANTEC 32：TREND_MICRO 33：VMWARE 34：WORD_PRESS 35：Others **默认取值**： 不涉及 |
| object_id             | 否    | String  | **参数解释**： 防护对象ID，该字段已废弃 **约束限制**： 不涉及 **取值范围**： 36位UUID **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| enterprise_project_id | 否    | String  | **参数解释**： 企业项目ID，用户根据组织规划企业项目，对应的ID为企业项目ID，可通过[如何获取企业项目ID](https://support.huaweicloud.com/api-cfw/cfw_02_0027.html)获取，用户未开启企业项目时为0 **约束限制**： 不涉及 **取值范围**： 36位UUID **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| fw_instance_id        | 是    | String  | **参数解释**： 防火墙ID，用户创建防火墙实例后产生的唯一ID，配置后可区分不同防火墙，可通过[防火墙ID获取方式](https://support.huaweicloud.com/api-cfw/cfw_02_0028.html)获取 **约束限制**： 不涉及 **取值范围**： 36位UUID **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| limit                 | 是    | Integer | **参数解释**： 查询返回记录的数量限制 **约束限制**： 不涉及 **取值范围**： 1-1024 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| offset                | 是    | Integer | **参数解释**： 偏移量，表示查询该偏移量后面的记录 **约束限制**： 不涉及 **取值范围**： 0 - 1024 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   
#### 请求参数
无
#### 响应参数
**状态码：200**
表3响应Body参数 
| 参数   | 参数类型                                                                         | 描述 |
|:---|:---|:---|
| data | [CustomerIpsPageInfo] object |    |
   
 表4CustomerIpsPageInfo 
| 参数      | 参数类型                                                                               | 描述                                                                                                                                                      |
|:---|:---|:---|
| limit   | Integer                                                                            | **参数解释**： 查询返回记录的数量限制 **取值范围**： 1-1024         |
| offset  | Integer                                                                            | **参数解释**： 偏移量，表示查询该偏移量后面的记录 **取值范围**： 0 - 1024 |
| records | Array of [CustomerIpsListVO] objects | **参数解释**： 自定义IPS规则列表 **取值范围**： 不涉及             |
| total   | Integer                                                                            | **参数解释**： 自定义IPS规则数量 **取值范围**： 不涉及             |
   
 表5CustomerIpsListVO 
| 参数            | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|
| action        | Integer | **参数解释**： 自定义IPS规则执行动作,仅更新自定义IPS规则场景下需要设置，其他场景无需设置 **取值范围**： 0：只记录日志 1：重置/拦截                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| affected_os   | Integer | **参数解释**： 影响操作系统 **取值范围**： 0：ANY 1：Windows 2：Linux 3：FreeBSD 4：Solaris 5：Other Unix 6：网络设备 7：Mac OS 8：IOS 9：Android 10：Others                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| attack_type   | Integer | **参数解释**： 攻击类型 **取值范围**： 1：访问控制 2：漏洞扫描 3：邮件攻击 4：漏洞攻击 5：Web攻击 6：密码攻击 7：劫持攻击 8：协议异常 9：特洛伊木马 10：蠕虫 11：缓冲区溢出 12：黑客工具 13：间谍软件 14：DDos泛洪 15：应用层DDos攻击 16：其他可疑行为 17：可疑DNS活动 18：网络钓鱼 19：垃圾邮件 20：其他攻击                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| config_status | Integer | **参数解释**： 规则配置状态 **取值范围**： 0：初始化 1：配置中 2：配置成功 3：配置失败                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| content       | String  | **参数解释**： 匹配IPS攻击的内容 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| dst_port_type | Integer | **参数解释**： 端口操作类型 **取值范围**： -1：Any 0：包含 1：排除                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| dst_ports     | String  | **参数解释**： 端口 **取值范围**： 1 - 65535                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| ips_cfw_id    | String  | **参数解释**： cfw侧自定义IPS规则id **取值范围**： 32位UUID                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ips_id        | String  | **参数解释**： ips规则ID， 可通过调用获取ips规则列表获取，通过data.records.ips_cfw_id获取。 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| ips_name      | String  | **参数解释**： ips规则名称 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| protocol      | Integer | **参数解释**： 协议类型 **取值范围**： 1：FTP 2：TELNET 3：SMTP 4：DNS_TCP 5：DNS_UDP 6：DHCP 7：TFTP 8：FINGER 9：HTTP 10：POP3 11：SUNRPC_TCP 12：SUNRPC_UDP 13：NNTP 14：MSRPC_TCP 15：MSRPC_UDP 16：NETBIOS_NAME_TCP 17：NETBIOS_NAME_UDP 18：NETBIOS_SMB 19：NETBIOS_DATAGRAM 20：IMAP4 21：SNMP 22：LDAP 23：MSSQL 24：ORACLE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| severity      | Integer | **参数解释**： 严重程度 **取值范围**： 0：致命 1：高危 2：中危 3：低危                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| software      | Integer | **参数解释**： 影响软件 **取值范围**： 0：ANY 1：ADOBE 2：APACHE 3：APPLE 4：CA 5：CISCO 6：GOOGLE_CHROME 7：HP 8：IBM 9：IE 10：IIS 11：MC_AFEE 12：MEDIA_PLAYER 13：MICROSOFT_NET 14：MICROSOFT_EDGE 15：MICROSOFT_EXCHANGE 16：MICROSOFT_OFFICE 17：MICROSOFT_OUTLOOK 18：MICROSOFT_SHARE_POINT 19：MICROSOFT_WINDOWS 20：MOZILLA 21：MSSQL 22：MYSQL 23：NOVELL 24：ORACLE 25：SAMBA 26：SAMSUNG 27：SAP 28：SCADA 29：SQUID 30：SUN 31：SYMANTEC 32：TREND_MICRO 33：VMWARE 34：WORD_PRESS 35：Others |
| src_port_type | Integer | **参数解释**： 端口操作类型 **取值范围**： -1：Any 0：包含 1：排除                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| src_ports     | String  | **参数解释**： 端口 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| group_id      | String  | **参数解释**： 集群ID **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   
**状态码：400**
表6响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                    |
|:---|:---|:---|
| error_code | String | **参数解释**： 错误码 **取值范围**： 不涉及  |
| error_msg  | String | **参数解释**： 错误描述 **取值范围**： 不涉及 |
   
#### 请求示例
查询项目ID为eb7accd78ea845078275b2ad5280a109防火墙ID为8a996d43-75bd-48b4-b1b8-de0706b72b8f的自定义IPS规则列表，偏移量为0，返回数量限制为10
```
https://{Endpoint}/v1/eb7accd78ea845078275b2ad5280a109/ips/custom-rule?fw_instance_id=8a996d43-75bd-48b4-b1b8-de0706b72b8f&offset=0&limit=10
```
#### 响应示例
**状态码：200**
OK
```
{
  "data" : {
    "limit" : 1000,
    "offset" : 0,
    "records" : [ {
      "action" : 0,
      "affected_os" : 1,
      "attack_type" : 1,
      "config_status" : 2,
      "content" : "content:\"test\";distance:0;within:65535;nocase;",
      "dst_port_type" : 1,
      "dst_ports" : "2",
      "ips_cfw_id" : "3d42ef53-9b44-4d8c-b83e-b1cce27bd543",
      "ips_id" : "350000",
      "ips_name" : "自定义IPS",
      "protocol" : 9,
      "severity" : 0,
      "software" : 1,
      "src_port_type" : 0,
      "src_ports" : "1"
    } ],
    "total" : 1
  }
}
```
**状态码：400**
Bad Request
```
{
  "error_code" : "CFW.00200003",
  "error_msg" : "参数错误"
}
```
#### SDK代码示例
SDK代码示例如下。
- [Java]
  ```
  package com.huaweicloud.sdk.test;
  import com.huaweicloud.sdk.core.auth.ICredential;
  import com.huaweicloud.sdk.core.auth.BasicCredentials;
  import com.huaweicloud.sdk.core.exception.ConnectionException;
  import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
  import com.huaweicloud.sdk.core.exception.ServiceResponseException;
  import com.huaweicloud.sdk.cfw.v1.region.CfwRegion;
  import com.huaweicloud.sdk.cfw.v1.*;
  import com.huaweicloud.sdk.cfw.v1.model.*;
  public class ListCustomerIpsSolution {
      public static void main(String[] args) {
          // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
          // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
          String ak = System.getenv("CLOUD_SDK_AK");
          String sk = System.getenv("CLOUD_SDK_SK");
          String projectId = "{project_id}";
          ICredential auth = new BasicCredentials()
                  .withProjectId(projectId)
                  .withAk(ak)
                  .withSk(sk);
          CfwClient client = CfwClient.newBuilder()
                  .withCredential(auth)
                  .withRegion(CfwRegion.valueOf("<YOUR REGION>"))
                  .build();
          ListCustomerIpsRequest request = new ListCustomerIpsRequest();
          try {
              ListCustomerIpsResponse response = client.listCustomerIps(request);
              System.out.println(response.toString());
          } catch (ConnectionException e) {
              e.printStackTrace();
          } catch (RequestTimeoutException e) {
              e.printStackTrace();
          } catch (ServiceResponseException e) {
              e.printStackTrace();
              System.out.println(e.getHttpStatusCode());
              System.out.println(e.getRequestId());
              System.out.println(e.getErrorCode());
              System.out.println(e.getErrorMsg());
          }
      }
  }
  ```
- [Python]
  ```
  # coding: utf-8
  import os
  from huaweicloudsdkcore.auth.credentials import BasicCredentials
  from huaweicloudsdkcfw.v1.region.cfw_region import CfwRegion
  from huaweicloudsdkcore.exceptions import exceptions
  from huaweicloudsdkcfw.v1 import *
  if __name__ == "__main__":
      # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
      # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
      ak = os.environ["CLOUD_SDK_AK"]
      sk = os.environ["CLOUD_SDK_SK"]
      projectId = "{project_id}"
      credentials = BasicCredentials(ak, sk, projectId)
      client = CfwClient.new_builder() \
          .with_credentials(credentials) \
          .with_region(CfwRegion.value_of("<YOUR REGION>")) \
          .build()
      try:
          request = ListCustomerIpsRequest()
          response = client.list_customer_ips(request)
          print(response)
      except exceptions.ClientRequestException as e:
          print(e.status_code)
          print(e.request_id)
          print(e.error_code)
          print(e.error_msg)
  ```
- [Go]
  ```
  package main
  import (
  "fmt"
  "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
      cfw "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cfw/v1"
  "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cfw/v1/model"
      region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cfw/v1/region"
  )
  func main() {
      // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
      // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
      ak := os.Getenv("CLOUD_SDK_AK")
      sk := os.Getenv("CLOUD_SDK_SK")
      projectId := "{project_id}"
      auth, err := basic.NewCredentialsBuilder().
          WithAk(ak).
          WithSk(sk).
          WithProjectId(projectId).
          SafeBuild()
      if err != nil {
          fmt.Println(err)
          return
      }
      hcClient, err := cfw.CfwClientBuilder().
           WithRegion(region.ValueOf("<YOUR REGION>")).
           WithCredential(auth).
           SafeBuild()
      if err != nil {
          fmt.Println(err)
          return
      }
      client := cfw.NewCfwClient(hcClient)
      request := &model.ListCustomerIpsRequest{}
  response, err := client.ListCustomerIps(request)
  if err == nil {
          fmt.Printf("%+v\n", response)
      } else {
          fmt.Println(err)
      }
  }
  ```
- [更多]
  更多编程语言的SDK代码示例，请参见[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/CFW/sdk?api=ListCustomerIps)的代码示例页签，可生成自动对应的SDK代码示例。
#### 状态码
| 状态码 | 描述          |
|:---|:---|
| 200 | OK          |
| 400 | Bad Request |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-cfw/ErrorCode.html)。
