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