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

版本記錄

版本號(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

    • NEAppProxyFlow用于從網(wǎng)絡(luò)套接字讀取數(shù)據(jù)并將數(shù)據(jù)寫入網(wǎng)絡(luò)套接字。
  • NEAppProxyProvider

    • App Proxy Provider應(yīng)用程序擴(kuò)展創(chuàng)建一個(gè)主體類。
  • NEAppProxyProviderManager

    • 配置和控制由App Proxy Provider應(yīng)用程序擴(kuò)展提供的網(wǎng)絡(luò)隧道。
  • NEAppProxyTCPFlow

    • NEAppProxyTCPFlow用于從應(yīng)用程序代理提供程序代理的TCP套接字中讀取數(shù)據(jù)和將數(shù)據(jù)寫入該套接字。
  • NEAppProxyUDPFlow

    • NEAppProxyUDPFlow用于從應(yīng)用程序代理提供程序代理的UDP套接字中讀取數(shù)據(jù)和將數(shù)據(jù)寫入該套接字。
  • NEAppRule

    • NEAppRule包含用于匹配基于源應(yīng)用程序的網(wǎng)絡(luò)連接的規(guī)則的匹配條件。
  • NEDNSSettings

    • NEDNSSettings包含網(wǎng)絡(luò)隧道的DNS解析器設(shè)置。
  • NEEvaluateConnectionRule

    • NEEvaluateConnectionRule將網(wǎng)絡(luò)連接的屬性與操作相關(guān)聯(lián)。
  • NEFilterBrowserFlow

    • NEFilterBrowserFlow包含有關(guān)從WebKit瀏覽器對(duì)象發(fā)起的網(wǎng)絡(luò)數(shù)據(jù)流的詳細(xì)信息。
  • NEFilterControlProvider

    • 創(chuàng)建一個(gè)Filter Control Provider應(yīng)用程序擴(kuò)展的主體類。
  • NEFilterControlVerdict

    • NEFilterControlVerdict包含 Filter Control Provider對(duì)網(wǎng)絡(luò)數(shù)據(jù)流的決定。
  • NEFilterDataProvider

    • Filter Data Provider應(yīng)用程序擴(kuò)展創(chuàng)建一個(gè)主體類。
  • NEFilterDataVerdict

    • NEFilterDataVerdict包含Filter Data Provider對(duì)網(wǎng)絡(luò)數(shù)據(jù)塊做出的決定。
  • NEFilterFlow

    • 被過濾器提供者檢查的網(wǎng)絡(luò)數(shù)據(jù)流的表示。
  • NEFilterManager

    • 創(chuàng)建和管理網(wǎng)絡(luò)內(nèi)容過濾器配置并控制網(wǎng)絡(luò)內(nèi)容過濾器。
  • NEFilterNewFlowVerdict

    • NEFilterNewFlowVerdict包含Filter Provider對(duì)Filter Provider剛剛第一次看到的網(wǎng)絡(luò)數(shù)據(jù)流的決定。
  • NEFilterProvider

    • 兩個(gè)Filter Provider擴(kuò)展主體類的基類,它們一起工作以制作完整的設(shè)備上的網(wǎng)絡(luò)內(nèi)容過濾系統(tǒng)。
  • NEFilterProviderConfiguration

    • NEFilterProviderConfiguration包含 Filter Provider的配置設(shè)置
  • NEFilterRemediationVerdict

    • NEFilterRemediationVerdict包含Filter Data Provider在用戶請(qǐng)求訪問網(wǎng)絡(luò)數(shù)據(jù)之后對(duì)網(wǎng)絡(luò)數(shù)據(jù)流作出的決定。
  • NEFilterSocketFlow

    • NEFilterSocketFlow包含有關(guān)源自套接字的網(wǎng)絡(luò)數(shù)據(jù)流的詳細(xì)信息。
  • NEFilterVerdict

    • 內(nèi)容過濾器的抽象基類判定類。
  • NEFlowMetaData

    • NEFlowMetaData包含有關(guān)流量的本地和遠(yuǎn)程網(wǎng)絡(luò)端點(diǎn)之外的網(wǎng)絡(luò)數(shù)據(jù)流的附加信息。
  • NEHotspotConfiguration

    • Wi-Fi網(wǎng)絡(luò)熱點(diǎn)的配置設(shè)置。
  • NEHotspotConfigurationManager

    • 配置管理器,應(yīng)用并刪除Wi-Fi網(wǎng)絡(luò)的熱點(diǎn)配置。
  • NEHotspotEAPSettings

    • 用于配置WPAWPA2企業(yè)Wi-Fi網(wǎng)絡(luò)的可擴(kuò)展身份驗(yàn)證協(xié)議(EAP)設(shè)置。
  • NEHotspotHelper

    • 注冊(cè)一個(gè)應(yīng)用程序作為熱點(diǎn)幫手。
  • NEHotspotHelperCommand

    • NEHotspotHelperCommand包含一個(gè)Hotspot Helper應(yīng)用程序處理的命令。
  • NEHotspotHelperResponse

    • NEHotspotHelperResponse包含對(duì)Hotspot Helper命令的響應(yīng)。
  • NEHotspotHS20Settings

    • 用于配置Hotspot 2.0 Wi-Fi網(wǎng)絡(luò)的設(shè)置。
  • NEHotspotNetwork

    • NEHotspotNetwork將關(guān)于網(wǎng)絡(luò)的信息傳達(dá)給Hotspot Helper應(yīng)用程序。
  • NEIPv4Route

    • NEIPv4Route包含IPv4路由的設(shè)置。
  • NEIPv4Settings

    • NEIPv4Settings包含IP層網(wǎng)絡(luò)隧道的Internet協(xié)議版本4(IPv4)設(shè)置。
  • NEIPv6Route

    • NEIPv6Route包含IPv6路由的設(shè)置。
  • NEIPv6Settings

    • NEIPv6Settings包含IP層網(wǎng)絡(luò)隧道的Internet協(xié)議版本6(IPv6)設(shè)置。
  • NEOnDemandRule

    • NEOnDemandRule定義了何時(shí)自動(dòng)啟動(dòng)VPN連接的規(guī)則。
  • NEOnDemandRuleConnect

    • NEOnDemandRuleConnect使用NEOnDemandRuleActionConnect操作定義了一個(gè)Connect On Demand規(guī)則。
  • NEOnDemandRuleDisconnect

    • NEOnDemandRuleDisconnect使用NEOnDemandRuleActionDisconnect操作定義了一個(gè)Connect On Demand規(guī)則。
  • NEOnDemandRuleEvaluateConnection

    • NEOnDemandRuleEvaluateConnection使用NEOnDemandRuleActionEvaluateConnection操作定義了一個(gè)Connect On Demand規(guī)則。
  • NEOnDemandRuleIgnore

    • NEOnDemandRuleIgnore使用NEOnDemandRuleActionIgnore操作定義了一個(gè)Connect On Demand規(guī)則。
  • NEPacket

  • NEPacketTunnelFlow

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

    • NEPacketTunnelNetworkSettings包含IP層隧道的IP網(wǎng)絡(luò)設(shè)置。
  • NEPacketTunnelProvider

    • 為數(shù)據(jù)包Tunnel Provider應(yīng)用程序擴(kuò)展創(chuàng)建主體類。
  • NEProvider

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

    • NEProxyServer包含代理服務(wù)器的設(shè)置。
  • NEProxySettings

    • NEProxySettings包含HTTP代理設(shè)置。
  • NETunnelNetworkSettings

    • NETunnelNetworkSettings包含網(wǎng)絡(luò)隧道的網(wǎng)絡(luò)設(shè)置。
  • NETunnelProvider

    • 為實(shí)現(xiàn)自定義網(wǎng)絡(luò)隧道協(xié)議的客戶端的Network Extension Provider應(yīng)用程序擴(kuò)展創(chuàng)建主體類。
  • NETunnelProviderManager

    • 配置和控制由Tunnel Provider應(yīng)用程序擴(kuò)展提供的VPN連接。
  • NETunnelProviderProtocol

    • NETunnelProviderProtocol包含網(wǎng)絡(luò)隧道的配置參數(shù)。
  • NETunnelProviderSession

    • NETunnelProviderSession用于控制網(wǎng)絡(luò)隧道連接,以及內(nèi)部通道連接的狀態(tài)。
  • NEVPNConnection

    • NEVPNConnection用于控制VPN連接并查看VPN連接的狀態(tài)。
  • NEVPNIKEv2SecurityAssociationParameters

    • NEVPNIKEv2SecurityAssociationParameters包含IKEv2安全關(guān)聯(lián)的參數(shù)。
  • NEVPNManager

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

    • NEVPNProtocol包含VPN配置的協(xié)議特定部分
  • NEVPNProtocolIKEv2

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

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

    • NWBonjourServiceEndpoint包含使用Bonjour解析的網(wǎng)絡(luò)端點(diǎn)的規(guī)范。
  • NWEndpoint

    • NWEndpoint是表示網(wǎng)絡(luò)端點(diǎn)的抽象基類,例如遠(yuǎn)程服務(wù)器上的端口。 所有實(shí)例都應(yīng)使用NWHostEndpointNWBonjourServiceEndpoint之一的子類創(chuàng)建。
  • NWHostEndpoint

    • NWHostEndpoint指定使用端點(diǎn)的主機(jī)名或IP地址的網(wǎng)絡(luò)端點(diǎn)。
  • NWPath

    • NWPath包含網(wǎng)絡(luò)連接在設(shè)備上的可行性狀態(tài)和路徑的屬性。
  • NWTCPConnection

    • NWTCPConnection用于建立到網(wǎng)絡(luò)端點(diǎn)的TCP連接,并在建立的TCP連接上發(fā)送和接收數(shù)據(jù)。
  • NWTLSParameters

    • NWTLSParameters定義了與NWTCPConnection實(shí)例一起使用的高級(jí)TLS選項(xiàng)。
  • NWUDPSession

    • NWUDPSession用于建立到網(wǎng)絡(luò)端點(diǎn)的UDP會(huì)話并發(fā)送和接收數(shù)據(jù)報(bào)。
  • NEDNSProxyManager

    • 管理DNS代理的對(duì)象。
  • NEDNSProxyProvider

    • DNS代理的主要類。
  • NEDNSProxyProviderProtocol

    • DNS代理提供商提供的特定于網(wǎng)絡(luò)擴(kuò)展的配置設(shè)置。
  • NEFilterReport

    • 數(shù)據(jù)提供者對(duì)流采取的行動(dòng)的報(bào)告。

2. Protocols

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

3. Reference

后記

本篇已結(jié)束,后面更精彩~~~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容