版本記錄
| 版本號(hào) | 時(shí)間 |
|---|---|
| V1.0 | 2018.02.08 |
前言
NetworkExtension框架配置VPN通道,定制和擴(kuò)展核心網(wǎng)絡(luò)功能。接下來幾篇我們就一起看一下這個(gè)框架。
Overview
下面先看一下該框架的基本信息。

下面我們看一下該框架的基本結(jié)構(gòu)。


Network Extension框架包含API,可用于定制和擴(kuò)展iOS和MacOS的核心網(wǎng)絡(luò)功能。
Network Extension Hotspot Entitlements
除了使用NEHotspotHelper類以外,您不需要從Apple獲得使用Network Extension類的權(quán)利。 要申請(qǐng)使用Hotspot Helper的權(quán)利,請(qǐng)?jiān)L問https://developer.apple.com/contact/network-extension。
Personal VPN
NEVPNManager API使應(yīng)用程序能夠在iOS和MacOS上創(chuàng)建和管理個(gè)人VPN配置。 個(gè)人VPN配置通常用于向用戶提供服務(wù),以保護(hù)其在諸如公共Wi-Fi網(wǎng)絡(luò)等不安全網(wǎng)絡(luò)上的互聯(lián)網(wǎng)瀏覽活動(dòng)。
Network Tunneling Protocol Client
您可以使用NETunnelProvider系列API將iOS和MacOS設(shè)備連接到使用非標(biāo)準(zhǔn)網(wǎng)絡(luò)隧道協(xié)議(例如SSL-VPN服務(wù)器)的VPN服務(wù)器。
NETunnelProvider API系列使應(yīng)用程序能夠?qū)崿F(xiàn)自定義網(wǎng)絡(luò)隧道協(xié)議(稱為Tunnel Provider)的客戶端。 Tunnel Provider作為應(yīng)用程序擴(kuò)展運(yùn)行。NETunnelProvider系列的API還包含以下類,用于配置和控制Tunnel Provider:
On-Device Network Content Filter
NEFilterProvider API使應(yīng)用程序能夠在iOS設(shè)備上動(dòng)態(tài)過濾網(wǎng)絡(luò)內(nèi)容。 應(yīng)用程序可以在學(xué)校環(huán)境中使用以下的類,在使用學(xué)校擁有的設(shè)備瀏覽互聯(lián)網(wǎng)時(shí)保護(hù)學(xué)生:
Wi-Fi Hotspot Authentication and Configuration
NEHotspotHelper API使您的應(yīng)用能夠?yàn)閃i-Fi熱點(diǎn)執(zhí)行自定義身份驗(yàn)證。 它為用戶提供了一種無縫連接到大型Wi-Fi熱點(diǎn)聚合網(wǎng)絡(luò)的方法。 NEHotspotConfiguration API可讓您的應(yīng)用程序配置這些熱點(diǎn)。
Topics
1. Classes
-
-
NEAppProxyFlow用于從網(wǎng)絡(luò)套接字讀取數(shù)據(jù)并將數(shù)據(jù)寫入網(wǎng)絡(luò)套接字。
-
-
- 為
App Proxy Provider應(yīng)用程序擴(kuò)展創(chuàng)建一個(gè)主體類。
- 為
-
- 配置和控制由
App Proxy Provider應(yīng)用程序擴(kuò)展提供的網(wǎng)絡(luò)隧道。
- 配置和控制由
-
-
NEAppProxyTCPFlow用于從應(yīng)用程序代理提供程序代理的TCP套接字中讀取數(shù)據(jù)和將數(shù)據(jù)寫入該套接字。
-
-
-
NEAppProxyUDPFlow用于從應(yīng)用程序代理提供程序代理的UDP套接字中讀取數(shù)據(jù)和將數(shù)據(jù)寫入該套接字。
-
-
-
NEAppRule包含用于匹配基于源應(yīng)用程序的網(wǎng)絡(luò)連接的規(guī)則的匹配條件。
-
-
-
NEDNSSettings包含網(wǎng)絡(luò)隧道的DNS解析器設(shè)置。
-
-
-
NEEvaluateConnectionRule將網(wǎng)絡(luò)連接的屬性與操作相關(guān)聯(lián)。
-
-
-
NEFilterBrowserFlow包含有關(guān)從WebKit瀏覽器對(duì)象發(fā)起的網(wǎng)絡(luò)數(shù)據(jù)流的詳細(xì)信息。
-
-
- 創(chuàng)建一個(gè)
Filter Control Provider應(yīng)用程序擴(kuò)展的主體類。
- 創(chuàng)建一個(gè)
-
-
NEFilterControlVerdict包含Filter Control Provider對(duì)網(wǎng)絡(luò)數(shù)據(jù)流的決定。
-
-
- 為
Filter Data Provider應(yīng)用程序擴(kuò)展創(chuàng)建一個(gè)主體類。
- 為
-
-
NEFilterDataVerdict包含Filter Data Provider對(duì)網(wǎng)絡(luò)數(shù)據(jù)塊做出的決定。
-
-
- 被過濾器提供者檢查的網(wǎng)絡(luò)數(shù)據(jù)流的表示。
-
- 創(chuàng)建和管理網(wǎng)絡(luò)內(nèi)容過濾器配置并控制網(wǎng)絡(luò)內(nèi)容過濾器。
-
-
NEFilterNewFlowVerdict包含Filter Provider對(duì)Filter Provider剛剛第一次看到的網(wǎng)絡(luò)數(shù)據(jù)流的決定。
-
-
- 兩個(gè)
Filter Provider擴(kuò)展主體類的基類,它們一起工作以制作完整的設(shè)備上的網(wǎng)絡(luò)內(nèi)容過濾系統(tǒng)。
- 兩個(gè)
-
-
NEFilterProviderConfiguration包含Filter Provider的配置設(shè)置
-
-
-
NEFilterRemediationVerdict包含Filter Data Provider在用戶請(qǐng)求訪問網(wǎng)絡(luò)數(shù)據(jù)之后對(duì)網(wǎng)絡(luò)數(shù)據(jù)流作出的決定。
-
-
-
NEFilterSocketFlow包含有關(guān)源自套接字的網(wǎng)絡(luò)數(shù)據(jù)流的詳細(xì)信息。
-
-
- 內(nèi)容過濾器的抽象基類判定類。
-
-
NEFlowMetaData包含有關(guān)流量的本地和遠(yuǎn)程網(wǎng)絡(luò)端點(diǎn)之外的網(wǎng)絡(luò)數(shù)據(jù)流的附加信息。
-
-
- Wi-Fi網(wǎng)絡(luò)熱點(diǎn)的配置設(shè)置。
-
- 配置管理器,應(yīng)用并刪除Wi-Fi網(wǎng)絡(luò)的熱點(diǎn)配置。
-
- 用于配置
WPA和WPA2企業(yè)Wi-Fi網(wǎng)絡(luò)的可擴(kuò)展身份驗(yàn)證協(xié)議(EAP)設(shè)置。
- 用于配置
-
- 注冊(cè)一個(gè)應(yīng)用程序作為熱點(diǎn)幫手。
-
-
NEHotspotHelperCommand包含一個(gè)Hotspot Helper應(yīng)用程序處理的命令。
-
-
-
NEHotspotHelperResponse包含對(duì)Hotspot Helper命令的響應(yīng)。
-
-
- 用于配置
Hotspot 2.0 Wi-Fi網(wǎng)絡(luò)的設(shè)置。
- 用于配置
-
-
NEHotspotNetwork將關(guān)于網(wǎng)絡(luò)的信息傳達(dá)給Hotspot Helper應(yīng)用程序。
-
-
-
NEIPv4Route包含IPv4路由的設(shè)置。
-
-
-
NEIPv4Settings包含IP層網(wǎng)絡(luò)隧道的Internet協(xié)議版本4(IPv4)設(shè)置。
-
-
-
NEIPv6Route包含IPv6路由的設(shè)置。
-
-
-
NEIPv6Settings包含IP層網(wǎng)絡(luò)隧道的Internet協(xié)議版本6(IPv6)設(shè)置。
-
-
-
NEOnDemandRule定義了何時(shí)自動(dòng)啟動(dòng)VPN連接的規(guī)則。
-
-
-
NEOnDemandRuleConnect使用NEOnDemandRuleActionConnect操作定義了一個(gè)Connect On Demand規(guī)則。
-
-
-
NEOnDemandRuleDisconnect使用NEOnDemandRuleActionDisconnect操作定義了一個(gè)Connect On Demand規(guī)則。
-
-
NEOnDemandRuleEvaluateConnection
-
NEOnDemandRuleEvaluateConnection使用NEOnDemandRuleActionEvaluateConnection操作定義了一個(gè)Connect On Demand規(guī)則。
-
-
-
NEOnDemandRuleIgnore使用NEOnDemandRuleActionIgnore操作定義了一個(gè)Connect On Demand規(guī)則。
-
-
-
NEPacketTunnelFlow用于讀取數(shù)據(jù)包并將數(shù)據(jù)包寫入TUN虛擬接口。
-
-
-
NEPacketTunnelNetworkSettings包含IP層隧道的IP網(wǎng)絡(luò)設(shè)置。
-
-
- 為數(shù)據(jù)包
Tunnel Provider應(yīng)用程序擴(kuò)展創(chuàng)建主體類。
- 為數(shù)據(jù)包
-
-
NEProvider是所有Network Extension Provider類的基類。
-
-
-
NEProxyServer包含代理服務(wù)器的設(shè)置。
-
-
-
NEProxySettings包含HTTP代理設(shè)置。
-
-
-
NETunnelNetworkSettings包含網(wǎng)絡(luò)隧道的網(wǎng)絡(luò)設(shè)置。
-
-
- 為實(shí)現(xiàn)自定義網(wǎng)絡(luò)隧道協(xié)議的客戶端的
Network Extension Provider應(yīng)用程序擴(kuò)展創(chuàng)建主體類。
- 為實(shí)現(xiàn)自定義網(wǎng)絡(luò)隧道協(xié)議的客戶端的
-
- 配置和控制由
Tunnel Provider應(yīng)用程序擴(kuò)展提供的VPN連接。
- 配置和控制由
-
-
NETunnelProviderProtocol包含網(wǎng)絡(luò)隧道的配置參數(shù)。
-
-
-
NETunnelProviderSession用于控制網(wǎng)絡(luò)隧道連接,以及內(nèi)部通道連接的狀態(tài)。
-
-
-
NEVPNConnection用于控制VPN連接并查看VPN連接的狀態(tài)。
-
-
NEVPNIKEv2SecurityAssociationParameters
-
NEVPNIKEv2SecurityAssociationParameters包含IKEv2安全關(guān)聯(lián)的參數(shù)。
-
-
-
NEVPNManager用于創(chuàng)建和管理VPN配置并控制生成的VPN隧道連接。
-
-
-
NEVPNProtocol包含VPN配置的協(xié)議特定部分
-
-
-
NEVPNProtocolIKEv2包含VPN配置的IKEv2特定部分。
-
-
-
NEVPNProtocolIPSec包含VPN配置的IPSec特定部分。
-
-
-
NWBonjourServiceEndpoint包含使用Bonjour解析的網(wǎng)絡(luò)端點(diǎn)的規(guī)范。
-
-
-
NWEndpoint是表示網(wǎng)絡(luò)端點(diǎn)的抽象基類,例如遠(yuǎn)程服務(wù)器上的端口。 所有實(shí)例都應(yīng)使用NWHostEndpoint或NWBonjourServiceEndpoint之一的子類創(chuàng)建。
-
-
-
NWHostEndpoint指定使用端點(diǎn)的主機(jī)名或IP地址的網(wǎng)絡(luò)端點(diǎn)。
-
-
-
NWPath包含網(wǎng)絡(luò)連接在設(shè)備上的可行性狀態(tài)和路徑的屬性。
-
-
-
NWTCPConnection用于建立到網(wǎng)絡(luò)端點(diǎn)的TCP連接,并在建立的TCP連接上發(fā)送和接收數(shù)據(jù)。
-
-
-
NWTLSParameters定義了與NWTCPConnection實(shí)例一起使用的高級(jí)TLS選項(xiàng)。
-
-
-
NWUDPSession用于建立到網(wǎng)絡(luò)端點(diǎn)的UDP會(huì)話并發(fā)送和接收數(shù)據(jù)報(bào)。
-
-
- 管理DNS代理的對(duì)象。
-
- DNS代理的主要類。
-
- DNS代理提供商提供的特定于網(wǎng)絡(luò)擴(kuò)展的配置設(shè)置。
-
- 數(shù)據(jù)提供者對(duì)流采取的行動(dòng)的報(bào)告。
2. Protocols
-
NWTCPConnectionAuthenticationDelegate
-
NWTCPConnectionAuthenticationDelegate聲明了NWTCPConnection對(duì)象在其委托上調(diào)用的方法,以使它們對(duì)某些連接事件執(zhí)行自定義操作。
-
3. Reference
后記
本篇已結(jié)束,后面更精彩~~~
