NetworkExtension框架詳細解析(一) —— 基本概覽

版本記錄

版本號 時間
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

    • NEAppProxyFlow用于從網絡套接字讀取數據并將數據寫入網絡套接字。
  • NEAppProxyProvider

    • App Proxy Provider應用程序擴展創建一個主體類。
  • NEAppProxyProviderManager

    • 配置和控制由App Proxy Provider應用程序擴展提供的網絡隧道。
  • NEAppProxyTCPFlow

    • NEAppProxyTCPFlow用于從應用程序代理提供程序代理的TCP套接字中讀取數據和將數據寫入該套接字。
  • NEAppProxyUDPFlow

    • NEAppProxyUDPFlow用于從應用程序代理提供程序代理的UDP套接字中讀取數據和將數據寫入該套接字。
  • NEAppRule

    • NEAppRule包含用于匹配基于源應用程序的網絡連接的規則的匹配條件。
  • NEDNSSettings

    • NEDNSSettings包含網絡隧道的DNS解析器設置。
  • NEEvaluateConnectionRule

    • NEEvaluateConnectionRule將網絡連接的屬性與操作相關聯。
  • NEFilterBrowserFlow

    • NEFilterBrowserFlow包含有關從WebKit瀏覽器對象發起的網絡數據流的詳細信息。
  • NEFilterControlProvider

    • 創建一個Filter Control Provider應用程序擴展的主體類。
  • NEFilterControlVerdict

    • NEFilterControlVerdict包含 Filter Control Provider對網絡數據流的決定。
  • NEFilterDataProvider

    • Filter Data Provider應用程序擴展創建一個主體類。
  • NEFilterDataVerdict

    • NEFilterDataVerdict包含Filter Data Provider對網絡數據塊做出的決定。
  • NEFilterFlow

    • 被過濾器提供者檢查的網絡數據流的表示。
  • NEFilterManager

    • 創建和管理網絡內容過濾器配置并控制網絡內容過濾器。
  • NEFilterNewFlowVerdict

    • NEFilterNewFlowVerdict包含Filter ProviderFilter Provider剛剛第一次看到的網絡數據流的決定。
  • NEFilterProvider

    • 兩個Filter Provider擴展主體類的基類,它們一起工作以制作完整的設備上的網絡內容過濾系統。
  • NEFilterProviderConfiguration

    • NEFilterProviderConfiguration包含 Filter Provider的配置設置
  • NEFilterRemediationVerdict

    • NEFilterRemediationVerdict包含Filter Data Provider在用戶請求訪問網絡數據之后對網絡數據流作出的決定。
  • NEFilterSocketFlow

    • NEFilterSocketFlow包含有關源自套接字的網絡數據流的詳細信息。
  • NEFilterVerdict

    • 內容過濾器的抽象基類判定類。
  • NEFlowMetaData

    • NEFlowMetaData包含有關流量的本地和遠程網絡端點之外的網絡數據流的附加信息。
  • NEHotspotConfiguration

    • Wi-Fi網絡熱點的配置設置。
  • NEHotspotConfigurationManager

    • 配置管理器,應用并刪除Wi-Fi網絡的熱點配置。
  • NEHotspotEAPSettings

    • 用于配置WPAWPA2企業Wi-Fi網絡的可擴展身份驗證協議(EAP)設置。
  • NEHotspotHelper

    • 注冊一個應用程序作為熱點幫手。
  • NEHotspotHelperCommand

    • NEHotspotHelperCommand包含一個Hotspot Helper應用程序處理的命令。
  • NEHotspotHelperResponse

    • NEHotspotHelperResponse包含對Hotspot Helper命令的響應。
  • NEHotspotHS20Settings

    • 用于配置Hotspot 2.0 Wi-Fi網絡的設置。
  • NEHotspotNetwork

    • NEHotspotNetwork將關于網絡的信息傳達給Hotspot Helper應用程序。
  • NEIPv4Route

    • NEIPv4Route包含IPv4路由的設置。
  • NEIPv4Settings

    • NEIPv4Settings包含IP層網絡隧道的Internet協議版本4(IPv4)設置。
  • NEIPv6Route

    • NEIPv6Route包含IPv6路由的設置。
  • NEIPv6Settings

    • NEIPv6Settings包含IP層網絡隧道的Internet協議版本6(IPv6)設置。
  • NEOnDemandRule

    • NEOnDemandRule定義了何時自動啟動VPN連接的規則。
  • NEOnDemandRuleConnect

    • NEOnDemandRuleConnect使用NEOnDemandRuleActionConnect操作定義了一個Connect On Demand規則。
  • NEOnDemandRuleDisconnect

    • NEOnDemandRuleDisconnect使用NEOnDemandRuleActionDisconnect操作定義了一個Connect On Demand規則。
  • NEOnDemandRuleEvaluateConnection

    • NEOnDemandRuleEvaluateConnection使用NEOnDemandRuleActionEvaluateConnection操作定義了一個Connect On Demand規則。
  • NEOnDemandRuleIgnore

    • NEOnDemandRuleIgnore使用NEOnDemandRuleActionIgnore操作定義了一個Connect On Demand規則。
  • NEPacket

  • NEPacketTunnelFlow

    • NEPacketTunnelFlow用于讀取數據包并將數據包寫入TUN虛擬接口。
  • NEPacketTunnelNetworkSettings

    • NEPacketTunnelNetworkSettings包含IP層隧道的IP網絡設置。
  • NEPacketTunnelProvider

    • 為數據包Tunnel Provider應用程序擴展創建主體類。
  • NEProvider

    • NEProvider是所有Network Extension Provider類的基類。
  • NEProxyServer

    • NEProxyServer包含代理服務器的設置。
  • NEProxySettings

    • NEProxySettings包含HTTP代理設置。
  • NETunnelNetworkSettings

    • NETunnelNetworkSettings包含網絡隧道的網絡設置。
  • NETunnelProvider

    • 為實現自定義網絡隧道協議的客戶端的Network Extension Provider應用程序擴展創建主體類。
  • NETunnelProviderManager

    • 配置和控制由Tunnel Provider應用程序擴展提供的VPN連接。
  • NETunnelProviderProtocol

    • NETunnelProviderProtocol包含網絡隧道的配置參數。
  • NETunnelProviderSession

    • NETunnelProviderSession用于控制網絡隧道連接,以及內部通道連接的狀態。
  • NEVPNConnection

    • NEVPNConnection用于控制VPN連接并查看VPN連接的狀態。
  • NEVPNIKEv2SecurityAssociationParameters

    • NEVPNIKEv2SecurityAssociationParameters包含IKEv2安全關聯的參數。
  • NEVPNManager

    • NEVPNManager用于創建和管理VPN配置并控制生成的VPN隧道連接。
  • NEVPNProtocol

    • NEVPNProtocol包含VPN配置的協議特定部分
  • NEVPNProtocolIKEv2

    • NEVPNProtocolIKEv2包含VPN配置的IKEv2特定部分。
  • NEVPNProtocolIPSec

    • NEVPNProtocolIPSec包含VPN配置的IPSec特定部分。
  • NWBonjourServiceEndpoint

    • NWBonjourServiceEndpoint包含使用Bonjour解析的網絡端點的規范。
  • NWEndpoint

  • NWHostEndpoint

    • NWHostEndpoint指定使用端點的主機名或IP地址的網絡端點。
  • NWPath

    • NWPath包含網絡連接在設備上的可行性狀態和路徑的屬性。
  • NWTCPConnection

    • NWTCPConnection用于建立到網絡端點的TCP連接,并在建立的TCP連接上發送和接收數據。
  • NWTLSParameters

    • NWTLSParameters定義了與NWTCPConnection實例一起使用的高級TLS選項。
  • NWUDPSession

    • NWUDPSession用于建立到網絡端點的UDP會話并發送和接收數據報。
  • NEDNSProxyManager

    • 管理DNS代理的對象。
  • NEDNSProxyProvider

    • DNS代理的主要類。
  • NEDNSProxyProviderProtocol

    • DNS代理提供商提供的特定于網絡擴展的配置設置。
  • NEFilterReport

    • 數據提供者對流采取的行動的報告。

2. Protocols

  • NWTCPConnectionAuthenticationDelegate
    • NWTCPConnectionAuthenticationDelegate聲明了NWTCPConnection對象在其委托上調用的方法,以使它們對某些連接事件執行自定義操作。

3. Reference

后記

本篇已結束,后面更精彩~~~

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容