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

版本記錄

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

    • 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

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

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

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

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

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

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

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

    • 內(nèi)容過(guò)濾器的抽象基類判定類携栋。
  • 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)系作者
  • 序言:七十年代末位仁,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子方椎,更是在濱河造成了極大的恐慌聂抢,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件棠众,死亡現(xiàn)場(chǎng)離奇詭異琳疏,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)闸拿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門空盼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人新荤,你說(shuō)我怎么就攤上這事揽趾。” “怎么了苛骨?”我有些...
    開封第一講書人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵但骨,是天一觀的道長(zhǎng)励七。 經(jīng)常有香客問(wèn)我,道長(zhǎng)奔缠,這世上最難降的妖魔是什么掠抬? 我笑而不...
    開封第一講書人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮校哎,結(jié)果婚禮上两波,老公的妹妹穿的比我還像新娘。我一直安慰自己闷哆,他們只是感情好腰奋,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著抱怔,像睡著了一般劣坊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上屈留,一...
    開封第一講書人閱讀 49,829評(píng)論 1 290
  • 那天局冰,我揣著相機(jī)與錄音,去河邊找鬼灌危。 笑死康二,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的勇蝙。 我是一名探鬼主播沫勿,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼味混!你這毒婦竟也來(lái)了产雹?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤翁锡,失蹤者是張志新(化名)和其女友劉穎洽故,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體盗誊,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡时甚,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了哈踱。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片荒适。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖开镣,靈堂內(nèi)的尸體忽然破棺而出刀诬,到底是詐尸還是另有隱情,我是刑警寧澤邪财,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布陕壹,位于F島的核電站质欲,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏糠馆。R本人自食惡果不足惜嘶伟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望又碌。 院中可真熱鬧九昧,春花似錦、人聲如沸毕匀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)皂岔。三九已至蹋笼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間躁垛,已是汗流浹背剖毯。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留缤苫,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓墅拭,卻偏偏與公主長(zhǎng)得像活玲,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子谍婉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容