• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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