**Linux PF_NETLINK相關資料**
* [1] Linux man PF_NETLINK
本文檔是Linux系統中的幫助文檔。從總體上介紹了PF_NETLINK(AF_NETLINK)的作用和相關的數據結構。對熟手比較適用。
* [2] http://www.linuxjournal.com/article/8498
“Manipulating the Networking Environment Using RTNETLINK”,這篇文章以RTNETLINK為主要對象,介紹了如何利用它進行編程以操作網絡。此文寫得非常詳細,建議讀者深入閱讀,甚至自己動手寫測試例子。
**DNS、Apple Bonjour相關資料**
* [3] http://baike.baidu.com/view/22276.htm
百度百科中關于dns的介紹,屬于入門級材料,不清楚的讀者可以先了解相關知識。
* [4] http://en.wikipedia.org/wiki/MDNS
維基百科中關于Multicast DNS的介紹。入門級材料,但包含的信息不是很全,需要跟蹤其中的鏈接才能對MDNS有全面了解。
* [5] https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/NetServices/Introduction.html#//apple_ref/doc/uid/TP40002445-SW1
“Introduction to Bonjour Overview”,蘋果開發網站上關于Bonjour基礎知識的入口,包含“About Bonjour”、“Bonjour API Architecture”等文檔。
* [6] https://developer.apple.com/library/mac/#documentation/Networking/Conceptual/dns_discovery_api/Introduction.html#//apple_ref/doc/uid/TP30000964
“DNS Service Discovery Programming Guide”,蘋果開發網站關于NSD API的說明。
**iptables相關資料**
iptables的相關文檔非常多,雖然Linux也提供了幫助文檔(man iptables),但對新手來說該文檔實在不是學習的好資料。
* [7] http://www.thegeekstuff.com/2011/01/iptables-fundamentals/
“Linux Firewall Tutorial: IPTables Tables, Chains, Rules Fundamentals”,這篇文章首先從原理上介紹了如何去理解iptables,然后介紹了相關的例子。筆者認為它是iptables最好的入門資料。
* [8] http://selboo.com.cn/post/721/
“iptables的相關概念和數據包的流程”,這篇文檔介紹了iptables中各個table及chain的處理順序,請讀者結合[7]來理解iptables。
* [9] http://www.frozentux.net/iptables-tutorial/cn/iptables-tutorial-cn-1.1.19.html
“Iptables 指南 1.1.19”,這篇文檔介紹的iptables版本比較舊(Android 4.2使用的iptables版本是1.4.11),但對iptables常用參數都有非常詳細的介紹。適合入門后的讀者進行深入閱讀。
**TC相關資料**
tc文獻的數量和難度遠大于iptables,此處精選幾個必讀文獻。
* [10] http://linux-ip.net/articles/Traffic-Control-HOWTO/intro.html
“Traffic Control HOWTO”,理解traffic control的必讀文獻,覆蓋面很全,理論知識講解到位。難度稍大,需要仔細琢磨才能完全理解。
* [11] http://wenku.baidu.com/view/f02078db50e2524de5187e45.html
“TC(Linux下流量控制工具)詳細說明及應用實例”,百度文庫中的一篇文檔,篇幅雖然不長,但也做到了理論和實例結合。建議讀者先閱讀此文獻,然后再深入研究[10]。
* [12] http://fanqiang.chinaunix.net/a1/b1/20010811/0705001103.html
“在LINUX中實現流量控制器”,介紹TC的一篇博文,主要對tc的命令用法列舉了不少實例,屬于tc的實戰文章。建議放到最后閱讀。
* [13] http://www.linuxfoundation.org/collaborate/workgroups/networking/ifb
這是筆者能找到的關于IFB設備最完整的資料,對IFB的使用、常規用法等進行了全方位的介紹。
**IP命令相關資料**
ip命令比較簡單,這里僅給出一篇文獻。
* [14] http://blog.chinaunix.net/uid-24921475-id-2547198.html
Linux ip命令介紹
**NetDevice編程文獻**
* [15] Linux man netdevice
非常詳細的NetDevice編程介紹,建議讀者認真閱讀。
**Linux策略路由相關資料**
* [16] http://www.cnblogs.com/iceocean/articles/1594488.html
“Linux策略路由”,中文文檔,知識面覆蓋較全,屬于入門級資料。
* [17] http://www.policyrouting.org/PolicyRoutingBook/ONLINE/TOC.html
“Policy Routing With Linux”,這是一本完整的書籍(可見網管是一個復雜的工作)。個人感覺[16]是參考[17]的學習總結。屬于高級閱讀材料,難度較大。
**Linux IPv6控制相關資料**
* [18] http://www.ipsidixit.net/2012/08/09/ipv6-temporary-addresses-and-privacy-extensions/
“IPv6 temporary addresses and privacy extensions”,介紹Linux中IPv6臨時地址和privacy extensions方面的知識,知識覆蓋面較全。屬于入門資料。
**TTY和ptmx編程相關資料**
* [19] http://tldp.org/HOWTO/Text-Terminal-HOWTO.html
“Text-Terminal-HOWTO”,比較舊的資料,覆蓋面非常廣。讀者可僅閱讀自己想了解的章節。
* [20] http://blog.tianya.cn/blogger/post_read.asp?BlogID=3616841&PostID=33399981
“Linux下tty/pty/pts/ptmx 詳解”,中文寫的好材料,還列出了其參考的文獻。最后,關于ptmx,讀者還可通過man ptmx獲得如何用它進行編程的指導。
**PPP和Pppd相關資料**
* [21] http://tldp.org/HOWTO/PPP-HOWTO/
“Linux PPP HOWTO”,Linux HowTo系列的內容都簡單易懂。雖章節較多,但很多內容僅一兩句了事。可做入門參考。
* [22] http://network.51cto.com/art/201009/223784.htm
“基礎解讀PPP協議”,中文文檔,一頁內容,主要介紹PPP框架性的內容。
* [23] http://wenku.baidu.com/view/0c395f15866fb84ae45c8d4a.html
“ppp介紹”,百度文庫中的一個關于ppp的PPT。內容翔實,不僅介紹了ppp協議的數據包,也從框架上介紹了ppp的工作流程。建議讀者首先閱讀此文獻。
* [24] Linux man pppd
介紹pppd中各個選項的作用。
**NAT相關資料**
* [25] http://oa.jmu.edu.cn/netoa/libq/pubdisc.nsf/66175841be38919248256e35005f4497/7762e8e1056be98f48256e88001ef71d?OpenDocument
“用iptables實現NAT”,中文文檔,簡單易懂。
Tether、RNDIS、DHCP、DNSmasq相關資料
* [26] http://en.wikipedia.org/wiki/Tethering
“Tethering”,維基百科中關于Tether的介紹,淺顯易懂,屬于普及型資料。
* [27] http://msdn.microsoft.com/en-us/library/windows/hardware/gg463293.aspx
“Remote NDIS (RNDIS) and Windows”,MSDN文檔,非常翔實(不得不說微軟在文檔方面的工作真的是一絲不茍)。
* [28] http://baike.baidu.com/view/7992.htm?subLemmaId=7992&fromenter=%A3%C4%A3%C8%A3%C3%A3%D0
百度百科中關于DHCP的解釋,入門資料。
* [29] http://baike.baidu.com/view/6681631.htm
百度百科中關于DNSmasq的解釋。
* [30] http://wenku.baidu.com/view/662b536b561252d380eb6ec1.html
關于DHCP協議中option字段的詳細介紹。
Softap和hostapd相關資料
* [31] 《802.11 無線網絡權威指南中文第二版》
讀者可先閱讀第1、2章中關于Wi-Fi技術中的一些基本概念,例如AP和Station。
* [32] http://baike.baidu.com/view/2475889.htm
百度百科關于SoftAp的入門級介紹。
* [33] 關于hostapd,讀者可利用man hostapd得到各個選項的用法。
提示,讀者必須先安裝hostapd,然后才能查閱其幫助文檔。
- 前言
- 第1章 準備工作
- 1.1 Android系統架構
- 1.2 工具使用
- 1.2.1 Source Insight的使用
- 1.2.2 Eclipse的使用
- 1.2.3 BusyBox的使用
- 1.3 本書資源下載說明
- 第2章 深入理解Netd
- 2.1 概述
- 2.2 Netd工作流程
- 2.2.1 main函數分析
- 2.2.2 NetlinkManager分析
- 2.2.3 CommandListener分析
- 2.2.4 DnsProxyListener分析
- 2.2.5 MDnsSdListener分析
- 2.3 CommandListener中的命令
- 2.3.1 iptables、tc和ip命令
- 2.3.2 CommandListener構造函數和測試工具ndc
- 2.3.3 InterfaceCmd命令
- 2.3.4 IpFwd和FirewallCmd命令
- 2.3.5 ListTtysCmd和PppdCmd命令
- 2.3.6 BandwidthControlCmd和IdletimerControlCmd命令
- 2.3.7 NatCmd命令
- 2.3.8 TetherCmd和SoftapCmd命令
- 2.3.9 ResolverCmd命令
- 2.4 NetworkManagementService介紹
- 2.4.1 create函數詳解
- 2.4.2 systemReady函數詳解
- 2.5 本章總結和參考資料說明
- 2.5.1 本章總結
- 2.5.2 參考資料說明
- 第3章 Wi-Fi基礎知識
- 3.1 概述
- 3.2 無線電頻譜和802.11協議的發展歷程
- 3.2.1 無線電頻譜知識
- 3.2.2 IEEE 802.11發展歷程
- 3.3 802.11無線網絡技術
- 3.3.1 OSI基本參考模型及相關基本概念
- 3.3.2 802.11知識點導讀
- 3.3.3 802.11組件
- 3.3.4 802.11 Service介紹
- 3.3.5 802.11 MAC服務和幀
- 3.3.6 802.11 MAC管理實體
- 3.3.7 無線網絡安全技術知識點
- 3.4 Linux Wi-Fi編程API介紹
- 3.4.1 Linux Wireless Extensions介紹
- 3.4.2 nl80211介紹
- 3.5 本章總結和參考資料說明
- 3.5.1 本章總結
- 3.5.2 參考資料說明
- 第4章 深入理解wpa_supplicant
- 4.1 概述
- 4.2 初識wpa_supplicant
- 4.2.1 wpa_supplicant架構
- 4.2.2 wpa_supplicant編譯配置
- 4.2.3 wpa_supplicant命令和控制API
- 4.2.4 git的使用
- 4.3 wpa_supplicant初始化流程
- 4.3.1 main函數分析
- 4.3.2 wpa_supplicant_init函數分析
- 4.3.3 wpa_supplicant_add_iface函數分析
- 4.3.4 wpa_supplicant_init_iface函數分析
- 4.4 EAP和EAPOL模塊
- 4.4.1 EAP模塊分析
- 4.4.2 EAPOL模塊分析
- 4.5 wpa_supplicant連接無線網絡分析
- 4.5.1 ADD_NETWORK命令處理
- 4.5.2 SET_NETWORK命令處理
- 4.5.3 ENABLE_NETWORK命令處理
- 4.6 本章總結和參考資料說明
- 4.6.1 本章總結
- 4.6.2 參考資料說明
- 第5章 深入理解WifiService
- 5.1 概述
- 5.2 WifiService的創建及初始化
- 5.2.1 HSM和AsyncChannel介紹
- 5.2.2 WifiService構造函數分析
- 5.2.3 WifiStateMachine介紹
- 5.3 加入無線網絡分析
- 5.3.1 Settings操作Wi-Fi分析
- 5.3.2 WifiService操作Wi-Fi分析
- 5.4 WifiWatchdogStateMachine介紹
- 5.5 Captive Portal Check介紹
- 5.6 本章總結和參考資料說明
- 5.6.1 本章總結
- 5.6.2 參考資料說明
- 第6章 深入理解Wi-Fi Simple Configuration
- 6.1 概述
- 6.2 WSC基礎知識
- 6.2.1 WSC應用場景
- 6.2.2 WSC核心組件及接口
- 6.3 Registration Protocol詳解
- 6.3.1 WSC IE和Attribute介紹
- 6.3.2 802.11管理幀WSC IE設置
- 6.3.3 EAP-WSC介紹
- 6.4 WSC代碼分析
- 6.4.1 Settings中的WSC處理
- 6.4.2 WifiStateMachine的處理
- 6.4.3 wpa_supplicant中的WSC處理
- 6.4.4 EAP-WSC處理流程分析
- 6.5 本章總結和參考資料說明
- 6.5.1 本章總結
- 6.5.2 參考資料說明
- 第7章 深入理解Wi-Fi P2P
- 7.1 概述
- 7.2 P2P基礎知識
- 7.2.1 P2P架構
- 7.2.2 P2P Discovery技術
- 7.2.3 P2P工作流程
- 7.3 WifiP2pSettings和WifiP2pService介紹
- 7.3.1 WifiP2pSettings工作流程
- 7.3.2 WifiP2pService工作流程
- 7.4 wpa_supplicant中的P2P
- 7.4.1 P2P模塊初始化
- 7.4.2 P2P Device Discovery流程分析
- 7.4.3 Provision Discovery流程分析
- 7.4.4 GO Negotiation流程分析
- 7.5 本章總結和參考資料說明
- 7.5.1 本章總結
- 7.5.2 參考資料說明
- 第8章 深入理解NFC
- 8.1 概述
- 8.2 NFC基礎知識
- 8.2.1 NFC概述
- 8.2.2 NFC R/W運行模式
- 8.2.3 NFC P2P運行模式
- 8.2.4 NFC CE運行模式
- 8.2.5 NCI原理
- 8.2.6 NFC相關規范
- 8.3 Android中的NFC
- 8.3.1 NFC應用示例
- 8.3.2 NFC系統模塊
- 8.4 NFC HAL層討論
- 8.5 本章總結和參考資料說明
- 8.5.1 本章總結
- 8.5.2 參考資料說明
- 第9章 深入理解GPS
- 9.1 概述
- 9.2 GPS基礎知識
- 9.2.1 衛星導航基本原理
- 9.2.2 GPS系統組成及原理
- 9.2.3 OMA-SUPL協議
- 9.3 Android中的位置管理
- 9.3.1 LocationManager架構
- 9.3.2 LocationManager應用示例
- 9.3.3 LocationManager系統模塊
- 9.4 本章總結和參考資料說明
- 9.4.1 本章總結
- 9.4.2 參考資料說明
- 附錄