1# @ohos.net.netFirewall (网络防火墙)(系统接口) 2 3网络防火墙模块为应用程序提供查询防火墙能力。 通过配置防火墙策略,应用程序可以对机器进行防火墙策略管控,并提供防火墙拦截记录的查询。 4 5> **说明:** 6> 本模块首批接口从API version 14开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 7> 本模块为系统接口。 8 9## 导入模块 10 11```ts 12import netfirewall from '@ohos.net.netFirewall'; 13``` 14 15## netFirewall.getInterceptedRecords 16 17getInterceptedRecords(userId: number, requestParam: RequestParam): Promise<\InterceptedRecordPage> 18 19按userId获取截获的记录,需要指定分页查询参数。 20 21**系统接口**:此接口为系统接口。 22 23**需要权限**:ohos.permission.GET_NET_FIREWALL 24 25**系统能力**:SystemCapability.Communication.NetManager.NetFirewall 26 27**参数:** 28 29| 参数名 | 类型 | 必填 | 说明 | 30| ------------ | ------------------------------------------------------- | ---- | -------------------------------------------- | 31| userId | number | 是 | 系统中的多用户用户ID,只能是存在的用户ID。 | 32| requestParam | [RequestParam](js-apis-net-netfirewall.md#requestparam) | 是 | 查询参数。 | 33**返回值:** 34 35| 类型 | 说明 | 36| --------------------------------------------------------- | ------------------------------- | 37| Promise\<[InterceptedRecordPage](#interceptedrecordpage)> | 以Promise形式返回拦截记录列表。 | 38 39**错误码:** 40 41以下错误码的详细介绍请参见通用错误码和网络连接管理错误码 42| 错误码ID | 错误信息 | 43| ------- | --------------------------------------------------------------------------------| 44| 201 | Permission denied. | 45| 202 | Non-system applications use system APIs. | 46| 401 | Parameter error. | 47| 2100001 | Invalid parameter value. | 48| 2100002 | Operation failed. Cannot connect to service. | 49| 2100003 | System internal error. | 50| 29400000 | The specified user does not exist. | 51 52**示例:** 53 54```ts 55import { netFirewall } '@kit.NetworkKit'; 56import { BusinessError } from '@kit.BasicServicesKit'; 57 58let interceptRecordParam: netFirewall.RequestParam = { 59 page: 1, 60 pageSize: 10, 61 orderField: netFirewall.NetFirewallOrderField.ORDER_BY_RECORD_TIME, 62 orderType: netFirewall.NetFirewallOrderType.ORDER_DESC 63}; 64netFirewall.getInterceptedRecords(100, interceptRecordParam).then((result: netFirewall.InterceptedRecordPage) => { 65 console.info("result:", JSON.stringify(result)); 66}, (error: BusinessError) => { 67 console.error("get intercept records failed: " + JSON.stringify(error)); 68}); 69``` 70 71## InterceptedRecord 72 73拦截记录信息结构。 74 75**系统接口**:此接口为系统接口。 76 77**系统能力**:SystemCapability.Communication.NetManager.NetFirewall 78 79| 名称 | 类型 | 必填 | 说明 | 80|------------| -------|------|-------------------- | 81| time | number | 是 | 时间戳。 | 82| localIp | string | 否 | 本地IP。 | 83| remoteIp | string | 否 | 远端IP。 | 84| localPort | number | 否 | 本地端口。 | 85| remotePort | number | 否 | 远端端口。 | 86| protocol | number | 否 | 传输层协议。 | 87| appUid | number | 否 | 应用程序或服务UID。 | 88| domain | string | 否 | 域名。 | 89 90## InterceptedRecordPage 91 92拦截记录分页信息结构。 93 94**系统接口**:此接口为系统接口。 95 96**系统能力**:SystemCapability.Communication.NetManager.NetFirewall 97 98| 名称 | 类型 | 必填 | 说明 | 99|------------| ----------------------------------------------- |------|---------- | 100| page | number | 是 | 当前页码。 | 101| pageSize | number | 是 | 页面大小。 | 102| totalPage | number | 是 | 总页数。 | 103| data | Array\<[InterceptedRecord](#interceptedrecord)> | 是 | 页面数据。 | 104