智能路由器开发指南
全新正版 极速发货
¥
35.73
6.1折
¥
59
全新
库存4件
作者张永智 李章明
出版社人民邮电出版社
ISBN9787115430854
出版时间2016-09
装帧其他
开本其他
定价59元
货号1201383833
上书时间2024-07-02
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
张永智,1979年出生于山西省临猗县,本科毕业于太原理工大学,并于中国科学院大学取得硕士学位。曾在联想、中国数码、畅讯、山石等公司从事各种软件研发工作。在研发岗位上,他参与了TPM安全芯片、拯救系统、OpenOffice、网络感知与流控系统、可视IP电话、路由协议、防火墙、HTTP代理和VPN等功能的开发,并曾在中国数码担任研发经理,负责多个项目的研发工作。现就职于北京邦天信息技术有限公司,负责防火墙、VPN等功能的开发。
他长期致力于搭建并维护OpenWrt的代码搜索服务,网址为openwrt.bjbook.net/source。除此之外,他还作为开源项目Frog的发起人,对中国人口普查数据进行研究。该项目对2010年第六次人口普查数据进行程序算法分析,预测中国人口将在2021年左右达到高峰,以后中国人口数量将逐年下降。
李章明,1986年出生于山西省昔阳县,2009年毕业于河北科技师范学院计算机科学与技术专业。曾在华为、德信无线等公司从事通信设备研发工作。并参与过机顶盒,CDMA基站、CDMA固定台、路由器、交换机、防火墙、VPN等设备的功能开发。现就职于鹏博士电信传媒集团,负责智能家居、物联网设备、SDN项目的开发。
目录
目录
章 智能路由器概述1
1.1 OpenWrt简介1
1.2 整体功能组件3
1.2.1 整体架构3
1.2.2 网络功能5
1.2.3 系统管理5
1.2.4 状态监控6
1.3 开源嵌入式操作系统比较7
1.3.1 和Android比较9
1.3.2 和其他WRT比较10
1.4 参考资料12
第2章 开发环境及编译分析13
2.1 安装编译环境13
2.1.1 Ubuntu安装13
2.1.2 安装编译工具15
2.1.3 下载代码17
2.1.4 配置及编译19
2.2 编译脚本分析27
2.2.1 顶层目录概述27
2.2.2 编译脚本29
2.2.3 下载工具29
2.2.4 patch-kernel.sh30
2.2.5 编译扩展机制feeds31
2.3 使用VirtualBox部署34
2.4 编译部署出现问题的解决方法37
2.5 VirtualBox虚拟机网络设置38
2.5.1 网络地址转换模式39
2.5.2 桥接网络模式40
2.5.3 内部网络模式41
2.5.4 仅主机网络模式41
2.5.5 网络模式比较42
2.5.6 组建路由器实验环境42
2.6 参考资料43
第3章 OpenWrt包管理系统44
3.1 工作原理44
3.2 OPKG命令45
3.2.1 命令用法45
3.2.2 软件包的管理46
3.2.3 查询信息48
3.2.4 选项49
3.3 OPKG配置50
3.3.1 调整软件仓库地址50
3.3.2 调整安装目录51
3.3.3 代理设置51
3.4 使用举例52
3.4.1 安装软件包52
3.4.2 查询已安装的OPKG
软件包文件列表53
3.4.3 自定义安装目录53
3.5 OPKG包结构55
3.6 参考资料57
第4章 OpenWrt配置58
4.1 UCI简介58
4.1.1 文件语法58
4.1.2 统一配置原理60
4.1.3 UCI工具61
4.1.4 配置脚本66
4.2 UCI API编程接口68
4.2.1 Libubox69
4.2.2 UCI69
4.2.3 UCI API接口70
4.3 系统内核设置71
4.3.1 sysctl.conf71
4.3.2 sysctl72
4.4 系统配置73
4.4.1 /etc/rc.local74
4.4.2 /etc/profile74
4.4.3 /etc/shells75
4.4.4 /etc/fstab75
4.4.5 /etc/services76
4.4.6 /etc/protocols77
4.5 名词解释78
4.6 参考资料78
第5章 软件开发79
5.1 编译构建系统79
5.1.1 概述79
5.1.2 变量定义85
5.1.3 软件包定义87
5.1.4 构建88
5.2 HelloWorld89
5.2.1 目录结构91
5.2.2 Makefile92
5.2.3 编译94
5.3 软件启动机制95
5.4 补丁生成及应用工具99
5.4.1 补丁99
5.4.2 diff工具100
5.4.3 patch工具102
5.5 参考资料104
第6章 GDB调试105
6.1 什么是GDB105
6.2 如何启动程序调试106
6.2.1 使用GDB启动程序106
6.2.2 环境变量设置107
6.2.3 设置日志文件108
6.2.4 获取帮助108
6.2.5 命令总结109
6.3 断点管理110
6.3.1 指令断点管理110
6.3.2 观察点管理112
6.3.3 捕获点管理113
6.3.4 单步调试113
6.3.5 命令总结114
6.4 查看程序运行状态115
6.4.1 查看栈帧信息115
6.4.2 查看运行中的源程序
信息117
6.4.3 查看运行时数据117
6.4.4 命令总结119
6.5 动态改变——改变程序的执行120
6.6 名词解释121
6.7 参考资料121
第7章 网络基础知识122
7.1 概述122
7.1.1 网络设备123
7.1.2 计算机网络分类124
7.2 数据链路层124
7.2.1 以太网124
7.2.2 MAC寻址125
7.2.3 冲突和冲突域125
7.2.4 广播域126
7.2.5 ARP协议126
7.3 IP协议127
7.3.1 IP报文格式127
7.3.2 IP地址分类129
7.3.3 协议功能131
7.4 ICMP132
7.4.1 概述132
7.4.2 报文格式133
7.4.3 差错报文134
7.4.4 查询报文及响应报文135
7.4.5 ping136
7.4.6 TraceRoute137
7.5 传输层协议137
7.6 综合138
7.7 名词解释141
7.8 参考资料141
第8章 路由器基础软件模块143
8.1 libubox143
8.1.1 libubox143
8.1.2 jshn145
8.2 ubus147
8.2.1 ubusd148
8.2.2 ubus命令行工具149
8.3 netifd152
8.3.1 概述152
8.3.2 netifd方法154
8.3.3 netifd文件158
8.3.4 网络配置159
8.4 ubox160
8.5 procd163
8.5.1 reload_config164
8.5.2 procd进程164
8.5.3 procd.sh167
8.5.4 rc.common169
8.5.5 综合示例170
8.6 参考资料172
第9章 常用软件模块173
9.1 CWMP173
9.1.1 概述173
9.1.2 方法和流程174
9.1.3 如何配置176
9.2 SSH服务器177
9.2.1 概述177
9.2.2 配置177
9.3 QoS178
9.3.1 服务模型178
9.3.2 QoS配置180
9.4 uHTTPd服务器181
9.4.1 概述181
9.4.2 配置182
9.5 SMTP183
9.6 NTP184
9.7 PPPoE185
9.7.1 CHAP验证过程186
9.7.2 PPPoE配置188
9.8 无线基础188
9.8.1 什么是无线188
9.8.2 优点188
9.8.3 缺点188
9.8.4 安全189
9.8.5 认识OpenWrt无线
接口189
9.8.6 OpenWrt无线配置191
9.9 参考资料192
0章 IP路由194
10.1 路由分类194
10.2 单播路由195
10.2.1 路由表管理195
10.2.2 静态路由配置198
10.3 策略路由199
10.3.1 概述199
10.3.2 配置策略路由200
10.3.3 典型配置举例203
10.4 组播路由205
10.4.1 组播原理205
10.4.2 IGMP原理207
10.4.3 IGMP代理207
10.4.4 IGMP Proxy管理209
10.4.5 验证及调试210
10.5 名词解释211
10.6 参考资料212
1章 DNS与DHCP213
11.1 主机系统213
11.2 DNS基础215
11.2.1 域名结构215
11.2.2 DNS报文格式216
11.2.3 域名解析器原理217
11.2.4 域名解析实例218
11.3 DHCP基础220
11.3.1 引言220
11.3.2 DHCP原理220
11.3.3 DHCP报文221
11.3.4 DHCP工作流程222
11.4 dnsmasq223
11.4.1 概述223
11.4.2 配置224
11.5 动态DNS228
11.5.1 DDNS原理228
11.5.2 DDNS配置229
11.5.3 DNS更新协议及
算法230
11.6 DNS测试工具232
11.6.1 nslookup232
11.6.2 dig232
11.7 参考资料234
2章 iptables防火墙235
12.1 防火墙概述235
12.2 iptables中的表236
12.2.1 filter(过滤表)236
12.2.2 nat(网络地址转换表)237
12.2.3 mangle(修改表)237
12.2.4 raw(原始表)238
12.3 处理目标238
12.3.1 REJECT(拒绝)239
12.3.2 DNAT(目的网络地址
转换)240
12.3.3 SNAT(源网络地址转换)240
12.3.4 MASQUERADE(伪装)241
12.3.5 LOG241
12.3.6 REDIRECT241
12.4 报文处理流程242
12.5 报文规则匹配245
12.6 管理防火墙规则247
12.7 其他工具集249
12.8 小结250
12.9 参考资料250
3章 UCI防火墙251
13.1 概述251
13.2 防火墙配置252
13.2.1 Defaults252
13.2.2 Zones-安全域253
13.2.3 转发253
13.2.4 重定向254
13.2.5 规则255
13.2.6 include257
13.3 常见用法258
13.3.1 MAC地址黑白
名单258
13.3.2 家长控制260
13.4 防火墙管理及调试261
13.4.1 管理防火墙261
13.4.2 测试防火墙262
13.5 名词解释263
13.6 参考资料263
4章 UPnP264
14.1 UPnP简介264
14.1.1 起源264
14.1.2 概述264
14.2 UPnP架构265
14.2.1 UPnP协议术语265
14.2.2 UPnP组件266
14.3 UPnP协议267
14.4 UPnP工作流程268
14.4.1 寻址268
14.4.2 发现269
14.4.3 描述269
14.4.4 控制270
14.4.5 事件270
14.4.6 表达272
14.5 UPnP应用之IGD272
14.5.1 IGD框架272
14.5.2 端口映射在IGD中的应用274
14.6 参考资料277
5章 网络测试及分析工具278
15.1 NetCat278
15.2 TcpDump283
15.2.1 抓取报文283
15.2.2 匹配规则285
15.2.3 使用举例287
15.3 参考资料288
内容摘要
OpenWrt是在实现路由器功能方面很受欢迎的开源软件之一。本书基于OpenWrt,详细介绍了智能路由器的开发。
本书共计15章,按照认识路由器的顺序进行编写,介绍了智能路由器、开发环境及编译分析、OpenWrt包管理系统、OpenWrt配置、软件开发、GDB调试、网络基础知识、路由器基础软件模块、常用软件模块、IP路由、DNS与DHCP、iptables防火墙、UCI防火墙、UPnP、网络测试及分析工具等。丰富的理论知识和代码示例可以帮助读者深入认识和理解OpenWrt技术,并能够提升开发水平和开发效率。
本书适合软件架构师、软件开发工程师、软件测试工程师以及计算机相关专业的学生阅读。读者通过阅读本书,不仅可以掌握OpenWrt技术,还能进一步提升自己的软件开发水平。
主编推荐
1. 这是一本智能路由器开发的推荐阅读指南。
2. 本书以理论和实际相结合,以virtualBox来讲解,没有智能路由设备的开发者也可学习实践。
3. 以代码为基础进行讲解,代码放在靠前托管网站上供大家自由下载。
4. 本书提供进一步深入阅读的参考资料链接,读者可以进一步深入学习。
媒体评论
作者是我大学时期睡在上铺的兄弟,做了十几年的Linux开发工作,这次厚积薄发,写成这本书。这本书结构清晰,文字细腻,同时书中有大量的实例和图表帮助你理解智能路由器,能给智能产品的开发节省不少时间。
——北京勤创兴业科技发展有限公司 总经理 辛大津
对于想从事或刚从事OpenWrt的开发者来讲,这本书可以为你节省不少时间,让你少走弯路。 本书图文并茂、步骤详细,对于一开始就迷茫或没有自信的开发者来讲,很快从本书获取方向并找回自信。
——北京一路热点信息技术有限公司 CTO 黄群友
作者结合自身丰富的软件开发经验,深入浅出地介绍了开源OpenWrt的架构和开发环境,并讲解了智能路由器开发和调试的过程。本书的内容很好接地气,是智能路由器开发及测试人员的不二之选!
——杭州华三通信技术有限公司 <<路由交换技术>> 作者 李渊
— 没有更多了 —
以下为对购买帮助不大的评价