**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 参考资料说明
- 附录