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