智能路由器開發指南

智能路由器開發指南
定價:354
NT $ 308
 

內容簡介

OpenWrt是在實現路由器功能方面很受歡迎的開源軟件之一。本書基於OpenWrt,詳細介紹了智能路由器的開發。

本書共計15章,按照認識路由器的順序進行編寫,介紹了智能路由器、開發環境及編譯分析、OpenWrt包管理系統、OpenWrt配置、軟件開發、GDB調試、網絡基礎知識、路由器基礎軟件模塊、常用軟件模塊、IP路由、DNS與DHCP、iptables防火牆、UCI防火牆、UPnP、網絡測試及分析工具等。豐富的理論知識和代碼示例可以幫助讀者深入認識和理解OpenWrt技術,並能夠提升開發水平和開發效率。

本書適合軟件架構師、軟件開發工程師、軟件測試工程師以及計算機相關專業的學生閱讀。讀者通過閱讀本書,不僅可以掌握OpenWrt技術,還能進一步提升自己的軟件開發水平。

張永智,1979年出生於山西省臨猗縣,本科畢業於太原理工大學,並於中國科學院大學取得碩士學位。曾在聯想、中國數碼、暢訊、山石等公司從事各種軟件研發工作。在研發崗位上,他參與了TPM安全芯片、拯救系統、Open Office、網絡感知與流控系統、可視IP電話、路由協議、防火牆、HTTP代理和VPN等功能的開發,並曾在中國數碼擔任研發經理,負責多個項目的研發工作。現就職於北京邦天信息技術有限公司,負責防火牆、VPN等功能的開發。

他長期致力於搭建並維護Open Wrt的代碼搜索服務,網址為openwrt.bjbook.net/source。除此之外,他還作為開源項目Frog的發起人,對中國人口普查數據進行研究。該項目對2010年第六次人口普查數據進行程序算法分析,預測中國人口將在2021年左右達到高峰,以后中國人口數量將逐年下降。

李章明,1986年出生於山西省昔陽縣,2009年畢業於河北科技師范學院計算機科學與技術專業。曾在華為、德信無線等公司從事通信設備研發工作。並參與過機頂盒,CDMA基站、CDMA固定台、路由器、交換機、防火牆、VPN等設備的功能開發。現就職於鵬博士電信傳媒集團,負責智能家居、物聯網設備、SDN項目的開發。
 

目錄

第1章智能路由器概述1
1.1OpenWrt簡介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.1Ubuntu安裝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.4patch—kernel.sh30
2.2.5編譯擴展機制feeds31
2.3使用VirtualBox部署34
2.4編譯部署出現問題的解決方法37
2.5VirtualBox虛擬機網絡設置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.2OPKG命令45
3.2.1命令用法45
3.2.2軟件包的管理46
3.2.3查詢信息48
3.2.4選項49
3.3OPKG配置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.5OPKG包結構55
3.6參考資料57
第4章OpenWrt配置58
4.1UCI簡介58
4.1.1文件語法58
4.1.2統一配置原理60
4.1.3UCI工具61
4.1.4配置腳本66
4.2UCIAPI編程接口68
4.2.1Libubox69
4.2.2UCI69
4.2.3UCIAPI接口70
4.3系統內核設置71
4.3.1sysctl.conf71
4.3.2sysctl72
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.2HelloWorld89
5.2.1目錄結構91
5.2.2Makefile92
5.2.3編譯94
5.3軟件啟動機制95
5.4補丁生成及應用工具99
5.4.1補丁99
5.4.2diff工具100
5.4.3patch工具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.2MAC尋址125
7.2.3沖突和沖突域125
7.2.4廣播域126
7.2.5ARP協議126
7.3IP協議127
7.3.1IP報文格式127
7.3.2IP地址分類129
7.3.3協議功能131
7.4ICMP132
7.4.1概述132
7.4.2報文格式133
7.4.3差錯報文134
7.4.4查詢報文及響應報文135
7.4.5ping136
7.4.6TraceRoute137
7.5傳輸層協議137
7.6綜合138
7.7名詞解釋141
7.8參考資料141
第8章路由器基礎軟件模塊143
8.1libubox143
8.1.1libubox143
8.1.2jshn145
8.2ubus147
8.2.1ubusd148
8.2.2ubus命令行工具149
8.3netifd152
8.3.1概述152
8.3.2netifd方法154
8.3.3netifd文件158
8.3.4網絡配置159
8.4ubox160
8.5procd163
8.5.1reload_config164
8.5.2procd進程164
8.5.3procd.sh167
8.5.4rc.common169
8.5.5綜合示例170
8.6參考資料172
第9章常用軟件模塊173
9.1CWMP173
9.1.1概述173
9.1.2方法和流程174
9.1.3如何配置176
9.2SSH服務器177
9.2.1概述177
9.2.2配置177
9.3QoS178
9.3.1服務模型178
9.3.2QoS配置180
9.4uHTTPd服務器181
9.4.1概述181
9.4.2配置182
9.5SMTP183
9.6NTP184
9.7PPPoE185
9.7.1CHAP驗證過程186
9.7.2PPPoE配置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.6OpenWrt無線配置191
9.9參考資料192
第10章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.2IGMP原理207
10.4.3IGMP代理207
10.4.4IGMPProxy管理209
10.4.5驗證及調試210
10.5名詞解釋211
10.6參考資料212
第11章DNS與DHCP213
11.1主機系統213
11.2DNS基礎215
11.2.1域名結構215
11.2.2DNS報文格式216
11.2.3域名解析器原理217
11.2.4域名解析實例218
11.3DHCP基礎220
11.3.1引言220
11.3.2DHCP原理220
11.3.3DHCP報文221
11.3.4DHCP工作流程222
11.4dnsmasq223
11.4.1概述223
11.4.2配置224
11.5動態DNS228
11.5.1DDNS原理228
11.5.2DDNS配置229
11.5.3DNS更新協議及算法230
11.6DNS測試工具232
11.6.1nslookup232
11.6.2dig232
11.7參考資料234
第12章iptables防火牆235
12.1防火牆概述235
12.2iptables中的表236
12.2.1filter(過濾表)236
12.2.2nat(網絡地址轉換表)237
12.2.3mangle(修改表)237
12.2.4raw(原始表)238
12.3處理目標238
12.3.1REJECT(拒絕)239
12.3.2DNAT(目的網絡地址轉換)240
12.3.3SNAT(源網絡地址轉換)240
12.3.4MASQUERADE(偽裝)241
12.3.5LOG241
12.3.6REDIRECT241
12.4報文處理流程242
12.5報文規則匹配245
12.6管理防火牆規則247
12.7其他工具集249
12.8小結250
12.9參考資料250
第13章UCI防火牆251
13.1概述251
13.2防火牆配置252
13.2.1Defaults252
13.2.2Zones—安全域253
13.2.3轉發253
13.2.4重定向254
13.2.5規則255
13.2.6include257
13.3常見用法258
13.3.1MAC地址黑白名單258
13.3.2家長控制260
13.4防火牆管理及調試261
13.4.1管理防火牆261
13.4.2測試防火牆262
13.5名詞解釋263
13.6參考資料263
第14章UPnP264
14.1UPnP簡介264
14.1.1起源264
14.1.2概述264
14.2UPnP架構265
14.2.1UPnP協議術語265
14.2.2UPnP組件266
14.3UPnP協議267
14.4UPnP工作流程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.5UPnP應用之IGD272
14.5.1IGD框架272
14.5.2端口映射在IGD中的應用274
14.6參考資料277
第15章網絡測試及分析工具278
15.1NetCat278
15.2TcpDump283
15.2.1抓取報文283
15.2.2匹配規則285
15.2.3使用舉例287
15.3參考資料288
網路書店 類別 折扣 價格
  1. 新書
    87
    $308