版本記錄
版本號(hào) | 時(shí)間 |
---|---|
V1.0 | 2018.02.08 |
前言
NetworkExtension框架配置VPN通道,定制和擴(kuò)展核心網(wǎng)絡(luò)功能。接下來(lái)幾篇我們就一起看一下這個(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問(wèn)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)過(guò)濾網(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)證秉宿。 它為用戶提供了一種無(wú)縫連接到大型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ù)塊做出的決定。
-
-
- 被過(guò)濾器提供者檢查的網(wǎng)絡(luò)數(shù)據(jù)流的表示享幽。
-
- 創(chuàng)建和管理網(wǎng)絡(luò)內(nèi)容過(guò)濾器配置并控制網(wǎng)絡(luò)內(nèi)容過(guò)濾器铲掐。
-
-
NEFilterNewFlowVerdict
包含Filter Provider
對(duì)Filter Provider
剛剛第一次看到的網(wǎng)絡(luò)數(shù)據(jù)流的決定。
-
-
- 兩個(gè)
Filter Provider
擴(kuò)展主體類的基類值桩,它們一起工作以制作完整的設(shè)備上的網(wǎng)絡(luò)內(nèi)容過(guò)濾系統(tǒng)摆霉。
- 兩個(gè)
-
-
NEFilterProviderConfiguration
包含Filter Provider
的配置設(shè)置
-
-
-
NEFilterRemediationVerdict
包含Filter Data Provider
在用戶請(qǐng)求訪問(wèn)網(wǎng)絡(luò)數(shù)據(jù)之后對(duì)網(wǎng)絡(luò)數(shù)據(jù)流作出的決定。
-
-
-
NEFilterSocketFlow
包含有關(guān)源自套接字的網(wǎng)絡(luò)數(shù)據(jù)流的詳細(xì)信息奔坟。
-
-
- 內(nèi)容過(guò)濾器的抽象基類判定類携栋。
-
-
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é)束琅翻,后面更精彩~~~