1# @ohos.enterprise.networkManager(网络管理) 2 3本模块提供设备网络管理能力,包括查询设备IP地址、MAC地址信息等。 4 5> **说明:** 6> 7> 本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8> 9> 本模块接口仅可在Stage模型下使用。 10> 11> 本模块接口仅对[设备管理应用](../../mdm/mdm-kit-guide.md#功能介绍)开放,需将设备管理应用激活后调用,实现相应功能。 12> 13 14## 导入模块 15 16```ts 17import { networkManager } from '@kit.MDMKit'; 18``` 19 20## networkManager.getAllNetworkInterfacesSync 21 22getAllNetworkInterfacesSync(admin: Want): Array<string> 23 24指定设备管理应用获取所有激活的网络接口。 25 26**需要权限:** ohos.permission.ENTERPRISE_MANAGE_NETWORK 27 28**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 29 30 31**参数:** 32 33| 参数名 | 类型 | 必填 | 说明 | 34| ------ | ------------------------------------------------------- | ---- | -------------- | 35| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 36 37**返回值:** 38 39| 类型 | 说明 | 40| ------------------- | ---------------------- | 41| Array<string> | 返回网络接口名称数组。 | 42 43**错误码**: 44 45以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 46 47| 错误码ID | 错误信息 | 48| -------- | ------------------------------------------------------------ | 49| 9200001 | The application is not an administrator application of the device. | 50| 9200002 | The administrator application does not have permission to manage the device. | 51| 201 | Permission verification failed. The application does not have the permission required to call the API. | 52| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 53 54**示例:** 55 56```ts 57import { Want } from '@kit.AbilityKit'; 58let wantTemp: Want = { 59 bundleName: 'com.example.myapplication', 60 abilityName: 'EntryAbility', 61}; 62 63try { 64 let result: Array<string> = networkManager.getAllNetworkInterfacesSync(wantTemp); 65 console.info(`Succeeded in getting all network interfaces, result : ${JSON.stringify(result)}`); 66} catch (err) { 67 console.error(`Failed to get all network interfaces. Code: ${err.code}, message: ${err.message}`); 68} 69``` 70 71## networkManager.getIpAddressSync 72 73getIpAddressSync(admin: Want, networkInterface: string): string 74 75指定设备管理应用根据网络接口获取设备IP地址。 76 77**需要权限:** ohos.permission.ENTERPRISE_MANAGE_NETWORK 78 79**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 80 81 82**参数:** 83 84| 参数名 | 类型 | 必填 | 说明 | 85| ---------------- | ------------------------------------------------------- | ---- | -------------- | 86| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 87| networkInterface | string | 是 | 指定网络接口。 | 88 89**返回值:** 90 91| 类型 | 说明 | 92| ------ | ---------------- | 93| string | 返回设备IP地址。 | 94 95**错误码**: 96 97以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 98 99| 错误码ID | 错误信息 | 100| -------- | ------------------------------------------------------------ | 101| 9200001 | The application is not an administrator application of the device. | 102| 9200002 | The administrator application does not have permission to manage the device. | 103| 201 | Permission verification failed. The application does not have the permission required to call the API. | 104| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 105 106**示例:** 107 108```ts 109import { Want } from '@kit.AbilityKit'; 110let wantTemp: Want = { 111 bundleName: 'com.example.myapplication', 112 abilityName: 'EntryAbility', 113}; 114 115try { 116 let result: string = networkManager.getIpAddressSync(wantTemp, 'eth0'); 117 console.info(`Succeeded in getting ip address, result : ${result}`); 118} catch (err) { 119 console.error(`Failed to get ip address. Code: ${err.code}, message: ${err.message}`); 120} 121``` 122 123## networkManager.getMacSync 124 125getMacSync(admin: Want, networkInterface: string): string 126 127指定设备管理应用根据网络接口获取设备MAC地址。 128 129**需要权限:** ohos.permission.ENTERPRISE_MANAGE_NETWORK 130 131**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 132 133 134**参数:** 135 136| 参数名 | 类型 | 必填 | 说明 | 137| ---------------- | ------------------------------------------------------- | ---- | -------------- | 138| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 139| networkInterface | string | 是 | 指定网络接口。 | 140 141**返回值:** 142 143| 类型 | 说明 | 144| ------ | ----------------- | 145| string | 返回设备MAC地址。 | 146 147**错误码**: 148 149以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 150 151| 错误码ID | 错误信息 | 152| -------- | ------------------------------------------------------------ | 153| 9200001 | The application is not an administrator application of the device. | 154| 9200002 | The administrator application does not have permission to manage the device. | 155| 201 | Permission verification failed. The application does not have the permission required to call the API. | 156| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 157 158**示例:** 159 160```ts 161import { Want } from '@kit.AbilityKit'; 162let wantTemp: Want = { 163 bundleName: 'com.example.myapplication', 164 abilityName: 'EntryAbility', 165}; 166 167try { 168 let result: string = networkManager.getMacSync(wantTemp, 'eth0'); 169 console.info(`Succeeded in getting mac, result : ${result}`); 170} catch (err) { 171 console.error(`Failed to get mac. Code: ${err.code}, message: ${err.message}`); 172} 173``` 174 175## networkManager.isNetworkInterfaceDisabledSync 176 177isNetworkInterfaceDisabledSync(admin: Want, networkInterface: string): boolean 178 179指定设备管理应用查询指定网络接口是否被禁用。 180 181**需要权限:** ohos.permission.ENTERPRISE_MANAGE_NETWORK 182 183**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 184 185 186**参数:** 187 188| 参数名 | 类型 | 必填 | 说明 | 189| ---------------- | ------------------------------------------------------- | ---- | -------------- | 190| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 191| networkInterface | string | 是 | 指定网络接口。 | 192 193**返回值:** 194 195| 类型 | 说明 | 196| ------- | ------------------------------------------------------------ | 197| boolean | 返回指定网络接口是否被禁用,true表示该网络接口被禁用,false表示该网络接口未被禁用。 | 198 199**错误码**: 200 201以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 202 203| 错误码ID | 错误信息 | 204| -------- | ------------------------------------------------------------ | 205| 9200001 | The application is not an administrator application of the device. | 206| 9200002 | The administrator application does not have permission to manage the device. | 207| 201 | Permission verification failed. The application does not have the permission required to call the API. | 208| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 209 210**示例:** 211 212```ts 213import { Want } from '@kit.AbilityKit'; 214let wantTemp: Want = { 215 bundleName: 'com.example.myapplication', 216 abilityName: 'EntryAbility', 217}; 218 219try { 220 let result: boolean = networkManager.isNetworkInterfaceDisabledSync(wantTemp, 'eth0'); 221 console.info(`Succeeded in querying network interface is disabled or not, result : ${result}`); 222} catch (err) { 223 console.error(`Failed to query network interface is disabled or not. Code: ${err.code}, message: ${err.message}`); 224} 225``` 226 227## networkManager.setNetworkInterfaceDisabledSync 228 229setNetworkInterfaceDisabledSync(admin: Want, networkInterface: string, isDisabled: boolean): void 230 231指定设备管理应用禁止设备使用指定网络。 232 233**需要权限:** ohos.permission.ENTERPRISE_MANAGE_NETWORK 234 235**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 236 237 238**参数:** 239 240| 参数名 | 类型 | 必填 | 说明 | 241| ---------------- | ------------------------------------------------------- | ---- | ------------------------------------------------- | 242| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 243| networkInterface | string | 是 | 指定网络接口。 | 244| isDisabled | boolean | 是 | true表示禁用该网络接口,false表示开启该网络接口。 | 245 246**错误码**: 247 248以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 249 250| 错误码ID | 错误信息 | 251| -------- | ------------------------------------------------------------ | 252| 9200001 | The application is not an administrator application of the device. | 253| 9200002 | The administrator application does not have permission to manage the device. | 254| 201 | Permission verification failed. The application does not have the permission required to call the API. | 255| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 256 257**示例:** 258 259```ts 260import { Want } from '@kit.AbilityKit'; 261import { BusinessError } from '@kit.BasicServicesKit'; 262let wantTemp: Want = { 263 bundleName: 'com.example.myapplication', 264 abilityName: 'EntryAbility', 265}; 266 267try { 268 networkManager.setNetworkInterfaceDisabledSync(wantTemp, 'eth0', true); 269 console.info(`Succeeded in setting network interface disabled`); 270} catch (err) { 271 console.error(`Failed to set network interface disabled. Code: ${err.code}, message: ${err.message}`); 272} 273``` 274 275## networkManager.setGlobalProxySync 276 277setGlobalProxySync(admin: Want, httpProxy: connection.HttpProxy): void 278 279指定设备管理应用设置网络全局代理。 280 281**需要权限:** ohos.permission.ENTERPRISE_MANAGE_NETWORK 282 283**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 284 285 286**参数:** 287 288| 参数名 | 类型 | 必填 | 说明 | 289| --------- | ------------------------------------------------------------ | ---- | -------------------------- | 290| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 291| httpProxy | [connection.HttpProxy](../apis-network-kit/js-apis-net-connection.md#httpproxy10) | 是 | 网络全局Http代理配置信息。 | 292 293**错误码**: 294 295以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 296 297| 错误码ID | 错误信息 | 298| -------- | ------------------------------------------------------------ | 299| 9200001 | The application is not an administrator application of the device. | 300| 9200002 | The administrator application does not have permission to manage the device. | 301| 201 | Permission verification failed. The application does not have the permission required to call the API. | 302| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 303 304**示例:** 305 306```ts 307import { Want } from '@kit.AbilityKit'; 308import { connection } from '@kit.NetworkKit'; 309let wantTemp: Want = { 310 bundleName: 'com.example.myapplication', 311 abilityName: 'EntryAbility', 312}; 313let exclusionStr: string = "192.168,baidu.com" 314let exclusionArray: Array<string> = exclusionStr.split(','); 315let httpProxy: connection.HttpProxy = { 316 host: "192.168.xx.xxx", 317 port: 8080, 318 exclusionList: exclusionArray 319}; 320 321try { 322 networkManager.setGlobalProxySync(wantTemp, httpProxy); 323 console.info(`Succeeded in setting network global proxy.`); 324} catch (err) { 325 console.error(`Failed to set network global proxy. Code: ${err.code}, message: ${err.message}`); 326} 327``` 328 329## networkManager.getGlobalProxySync 330 331getGlobalProxySync(admin: Want): connection.HttpProxy 332 333指定设备管理应用获取网络全局代理。 334 335**需要权限:** ohos.permission.ENTERPRISE_MANAGE_NETWORK 336 337**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 338 339 340**参数:** 341 342| 参数名 | 类型 | 必填 | 说明 | 343| ------ | ------------------------------------------------------- | ---- | -------------- | 344| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 345 346**返回值:** 347 348| 类型 | 说明 | 349| ------------------------------------------------------------ | ------------------------------ | 350| [connection.HttpProxy](../apis-network-kit/js-apis-net-connection.md#httpproxy10) | 返回网络全局Http代理配置信息。 | 351 352**错误码**: 353 354以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 355 356| 错误码ID | 错误信息 | 357| -------- | ------------------------------------------------------------ | 358| 9200001 | The application is not an administrator application of the device. | 359| 9200002 | The administrator application does not have permission to manage the device. | 360| 201 | Permission verification failed. The application does not have the permission required to call the API. | 361| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 362 363**示例:** 364 365```ts 366import { Want } from '@kit.AbilityKit'; 367import { BusinessError } from '@kit.BasicServicesKit'; 368import { connection } from '@kit.NetworkKit'; 369let wantTemp: Want = { 370 bundleName: 'com.example.myapplication', 371 abilityName: 'EntryAbility', 372}; 373 374try { 375 let result: connection.HttpProxy = networkManager.getGlobalProxySync(wantTemp); 376 console.info(`Succeeded in getting network global proxy, result : ${JSON.stringify(result)}`); 377} catch (err) { 378 console.error(`Failed to get network global proxy. Code: ${err.code}, message: ${err.message}`); 379} 380``` 381 382## networkManager.addFirewallRule 383 384addFirewallRule(admin: Want, firewallRule: FirewallRule): void 385 386指定设备管理应用为设备添加防火墙过滤规则。<br/> 387添加了[Action](#action)为ALLOW规则后,将会默认添加DENY规则,不在ALLOW规则之内的网络数据包将会被丢弃或拦截。 388 389**需要权限:** ohos.permission.ENTERPRISE_MANAGE_NETWORK 390 391**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 392 393 394**参数:** 395 396| 参数名 | 类型 | 必填 | 说明 | 397| ------------ | ------------------------------------------------------- | ---- | -------------------- | 398| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 399| firewallRule | [FirewallRule](#firewallrule) | 是 | 添加防火墙过滤规则。 | 400 401**错误码**: 402 403以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 404 405| 错误码ID | 错误信息 | 406| -------- | ------------------------------------------------------------ | 407| 9200001 | The application is not an administrator application of the device. | 408| 9200002 | The administrator application does not have permission to manage the device. | 409| 201 | Permission verification failed. The application does not have the permission required to call the API. | 410| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 411 412**示例:** 413 414```ts 415import { Want } from '@kit.AbilityKit'; 416 417let wantTemp: Want = { 418 bundleName: 'com.example.myapplication', 419 abilityName: 'EntryAbility', 420}; 421let firewallRule: networkManager.FirewallRule = { 422 "srcAddr": "192.168.1.1-192.188.22.66", 423 "destAddr": "10.1.1.1", 424 "srcPort": "8080", 425 "destPort": "8080", 426 "appUid": "9696", 427 "direction": networkManager.Direction.OUTPUT, 428 "action": networkManager.Action.DENY, 429 "protocol": networkManager.Protocol.UDP, 430} 431 432networkManager.addFirewallRule(wantTemp, firewallRule); 433``` 434 435## networkManager.removeFirewallRule 436 437removeFirewallRule(admin: Want, firewallRule?: FirewallRule): void 438 439指定设备管理应用移除设备防火墙过滤规则。<br/> 440移除规则后如果不存在[Action](#action)为ALLOW规则后,会将[addFirewallRule](#networkmanageraddfirewallrule)添加的默认DENY规则清空。 441 442**需要权限:** ohos.permission.ENTERPRISE_MANAGE_NETWORK 443 444**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 445 446 447**参数:** 448 449| 参数名 | 类型 | 必填 | 说明 | 450| ------------ | ------------------------------------------------------- | ---- | ---------------------------------------------------- | 451| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 452| firewallRule | [FirewallRule](#firewallrule) | 否 | 移除防火墙过滤规则。值为空时,清空所有的防火墙规则。 | 453 454**错误码**: 455 456以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 457 458| 错误码ID | 错误信息 | 459| -------- | ------------------------------------------------------------ | 460| 9200001 | The application is not an administrator application of the device. | 461| 9200002 | The administrator application does not have permission to manage the device. | 462| 201 | Permission verification failed. The application does not have the permission required to call the API. | 463| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 464 465**示例:** 466 467```ts 468import { Want } from '@kit.AbilityKit'; 469 470let wantTemp: Want = { 471 bundleName: 'com.example.myapplication', 472 abilityName: 'EntryAbility', 473}; 474// 移除指定的规则 475let firewallRule: networkManager.FirewallRule = { 476 "srcAddr": "192.168.1.1-192.188.22.66", 477 "destAddr": "10.1.1.1", 478 "srcPort": "8080", 479 "destPort": "8080", 480 "appUid": "9696", 481 "direction": networkManager.Direction.OUTPUT, 482 "action": networkManager.Action.DENY, 483 "protocol": networkManager.Protocol.UDP, 484} 485networkManager.removeFirewallRule(wantTemp, firewallRule); 486 487// 清空所有规则 488networkManager.removeFirewallRule(wantTemp); 489``` 490 491## networkManager.getFirewallRules 492 493getFirewallRules(admin: Want): Array\<FirewallRule> 494 495指定设备管理应用查询防火墙过滤规则。 496 497**需要权限:** ohos.permission.ENTERPRISE_MANAGE_NETWORK 498 499**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 500 501 502**参数:** 503 504| 参数名 | 类型 | 必填 | 说明 | 505| ------ | ------------------------------------------------------- | ---- | -------------- | 506| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 507 508**返回值:** 509 510| 类型 | 说明 | 511| ------------------------------------- | ------------------------------------------------------------ | 512| Array\<[FirewallRule](#firewallrule)> | 返回当前设备配置的防火墙过滤规则列表,当方法调用错误时会抛出异常。 | 513 514**错误码**: 515 516以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 517 518| 错误码ID | 错误信息 | 519| -------- | ------------------------------------------------------------ | 520| 9200001 | The application is not an administrator application of the device. | 521| 9200002 | The administrator application does not have permission to manage the device. | 522| 201 | Permission verification failed. The application does not have the permission required to call the API. | 523| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 524 525**示例:** 526 527```ts 528import { Want } from '@kit.AbilityKit'; 529 530let wantTemp: Want = { 531 bundleName: 'com.example.myapplication', 532 abilityName: 'EntryAbility', 533}; 534let firewallRule: Array<networkManager.FirewallRule>; 535firewallRule = networkManager.getFirewallRules(wantTemp); 536``` 537 538## networkManager.addDomainFilterRule 539 540addDomainFilterRule(admin: Want, domainFilterRule: DomainFilterRule): void 541 542指定设备管理应用为设备添加域名过滤规则。<br/> 543添加了[Action](#action)为ALLOW规则后,将会默认添加DENY规则,不在ALLOW规则之内的域名解析数据包将会被丢弃或拦截。 544 545**需要权限:** ohos.permission.ENTERPRISE_MANAGE_NETWORK 546 547**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 548 549 550**参数:** 551 552| 参数名 | 类型 | 必填 | 说明 | 553| ---------------- | ------------------------------------------------------- | ---- | ------------------ | 554| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 555| domainFilterRule | [DomainFilterRule](#domainfilterrule) | 是 | 添加域名过滤规则。 | 556 557**错误码**: 558 559以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 560 561| 错误码ID | 错误信息 | 562| -------- | ------------------------------------------------------------ | 563| 9200001 | The application is not an administrator application of the device. | 564| 9200002 | The administrator application does not have permission to manage the device. | 565| 201 | Permission verification failed. The application does not have the permission required to call the API. | 566| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 567 568**示例:** 569 570```ts 571import { Want } from '@kit.AbilityKit'; 572 573let wantTemp: Want = { 574 bundleName: 'com.example.myapplication', 575 abilityName: 'EntryAbility', 576}; 577let domainFilterRule: networkManager.DomainFilterRule = { 578 "domainName": "www.example.com", 579 "appUid": "9696", 580 "action": networkManager.Action.DENY, 581} 582 583networkManager.addDomainFilterRule(wantTemp, domainFilterRule); 584``` 585 586## networkManager.removeDomainFilterRule 587 588removeDomainFilterRule(admin: Want, domainFilterRule?: DomainFilterRule): void 589 590指定设备管理应用移除设备域名过滤规则。<br/> 591移除规则后如果不存在[Action](#action)为ALLOW规则后,会将[addDomainFilterRule](#networkmanageradddomainfilterrule)添加的默认DENY规则清空。 592 593**需要权限:** ohos.permission.ENTERPRISE_MANAGE_NETWORK 594 595**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 596 597 598**参数:** 599 600| 参数名 | 类型 | 必填 | 说明 | 601| ---------------- | ------------------------------------------------------- | ---- | ------------------------------------------------ | 602| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 603| domainFilterRule | [DomainFilterRule](#domainfilterrule) | 否 | 移除域名过滤规则。值为空时,清空所有的域名规则。 | 604 605**错误码**: 606 607以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 608 609| 错误码ID | 错误信息 | 610| -------- | ------------------------------------------------------------ | 611| 9200001 | The application is not an administrator application of the device. | 612| 9200002 | The administrator application does not have permission to manage the device. | 613| 201 | Permission verification failed. The application does not have the permission required to call the API. | 614| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 615 616**示例:** 617 618```ts 619import { Want } from '@kit.AbilityKit'; 620 621let wantTemp: Want = { 622 bundleName: 'com.example.myapplication', 623 abilityName: 'EntryAbility', 624}; 625// 移除指定的规则 626let domainFilterRule: networkManager.DomainFilterRule = { 627 "domainName": "www.example.com", 628 "appUid": "9696", 629 "action": networkManager.Action.DENY, 630} 631networkManager.removeDomainFilterRule(wantTemp, domainFilterRule); 632 633// 清空所有规则 634networkManager.removeDomainFilterRule(wantTemp); 635``` 636 637## networkManager.getDomainFilterRules 638 639getDomainFilterRules(admin: Want): Array\<DomainFilterRule> 640 641指定设备管理应用查询域名过滤规则。 642 643**需要权限:** ohos.permission.ENTERPRISE_MANAGE_NETWORK 644 645**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 646 647 648**参数:** 649 650| 参数名 | 类型 | 必填 | 说明 | 651| ------ | ------------------------------------------------------- | ---- | -------------- | 652| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 653 654**返回值:** 655 656| 类型 | 说明 | 657| --------------------------------------------- | ------------------------------------------------------------ | 658| Array\<[DomainFilterRule](#domainfilterrule)> | 返回当前设备配置的域名过滤规则列表,当方法调用错误时会抛出异常。 | 659 660**错误码**: 661 662以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 663 664| 错误码ID | 错误信息 | 665| -------- | ------------------------------------------------------------ | 666| 9200001 | The application is not an administrator application of the device. | 667| 9200002 | The administrator application does not have permission to manage the device. | 668| 201 | Permission verification failed. The application does not have the permission required to call the API. | 669| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 670 671**示例:** 672 673```ts 674import { Want } from '@kit.AbilityKit'; 675 676let wantTemp: Want = { 677 bundleName: 'com.example.myapplication', 678 abilityName: 'EntryAbility', 679}; 680let domainFilterRule: Array<networkManager.DomainFilterRule>; 681domainFilterRule = networkManager.getDomainFilterRules(wantTemp); 682``` 683 684## FirewallRule 685 686防火墙过滤规则。 687 688**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 689 690 691| 名称 | 类型 | 必填 | 说明 | 692| --------- | ----------------------- | ---- | ------------------------------------------------------------ | 693| srcAddr | string | 否 | ip源地址。支持IP段,例如:192.168.0.0/22或者192.168.1.100-192.168.1.200 | 694| destAddr | string | 否 | ip目标地址。支持IP段,例如:192.168.0.0/22或者192.168.1.100-192.168.1.200 | 695| srcPort | string | 否 | 源端口。 | 696| destPort | string | 否 | 目标端口。 | 697| appUid | string | 否 | 应用uid。 | 698| direction | [Direction](#direction) | 否 | 规则链。<br/>添加防护墙过滤规则时必填;移除防火墙时非必填,表示清空所有的[Direction](#direction)链。<br/>当值为空时srcAddr,destAddr,srcPort,destPort,appUid也必须传入空值。 | 699| action | [Action](#action) | 否 | 接收或者丢弃数据包。<br/>添加防护墙过滤规则时必填;移除防火墙时非必填,表示清空所有的匹配[Action](#action)规则的链。<br/>当值为空时srcAddr,destAddr,srcPort,destPort,appUid也必须传入空值。 | 700| protocol | [Protocol](#protocol) | 否 | 网络协议。当值为ALL或者ICMP时,不允许设置srcPort与destPort。 | 701 702## DomainFilterRule 703 704域名过滤规则。 705 706**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 707 708 709| 名称 | 类型 | 必填 | 说明 | 710| ---------- | ----------------- | ---- | ------------------------------------------------------------ | 711| domainName | string | 否 | 域名。添加域名过滤规则时必填。 | 712| appUid | string | 否 | 应用uid。 | 713| action | [Action](#action) | 否 | 接收或者丢弃数据包。<br/>添加域名过滤规则时必填;移除域名过滤规则时非必填,表示清空所有的匹配[Action](#action)规则的链。<br/>当值为空时,domainName,appUid也必须传入空值。 | 714 715## Direction 716 717规则链。 718 719**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 720 721 722| 名称 | 值 | 说明 | 723| ------ | ---- | -------- | 724| INPUT | 0 | 输入链。 | 725| OUTPUT | 1 | 输出链。 | 726 727## Action 728 729数据包的行为。 730 731**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 732 733 734| 名称 | 值 | 说明 | 735| ----- | ---- | ------------ | 736| ALLOW | 0 | 接收数据包。 | 737| DENY | 1 | 丢弃数据包。 | 738 739## Protocol 740 741网络协议。 742 743**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 744 745 746| 名称 | 值 | 说明 | 747| ---- | ---- | -------------- | 748| ALL | 0 | 全部网络协议。 | 749| TCP | 1 | 网络协议TCP。 | 750| UDP | 2 | 网络协议UDP。 | 751| ICMP | 3 | 网络协议ICMP。 |