編輯推薦
1. 這是一本智能路由器開發的必讀指南。
2. 本書以理論和實際相結閤,以virtualBox來講解,沒有智能路由設備的開發者也可學習實踐。
3. 以代碼為基礎進行講解,代碼放在國內托管網站上供大傢自由下載。
4. 本書提供進一步深入閱讀的參考資料鏈接,讀者可以進一步深入學習。
內容簡介
OpenWrt是在實現路由器功能方麵很受歡迎的開源軟件之一。本書基於OpenWrt,詳細介紹瞭智能路由器的開發。
本書共計15章,按照認識路由器的順序進行編寫,介紹瞭智能路由器、開發環境及編譯分析、OpenWrt包管理係統、OpenWrt配置、軟件開發、GDB調試、網絡基礎知識、路由器基礎軟件模塊、常用軟件模塊、IP路由、DNS與DHCP、iptables防火牆、UCI防火牆、UPnP、網絡測試及分析工具等。豐富的理論知識和代碼示例可以幫助讀者深入認識和理解OpenWrt技術,並能夠提升開發水平和開發效率。
本書適閤軟件架構師、軟件開發工程師、軟件測試工程師以及計算機相關專業的學生閱讀。讀者通過閱讀本書,不僅可以掌握OpenWrt技術,還能進一步提升自己的軟件開發水平。
作者簡介
張永智,1979年齣生於山西省臨猗縣,本科畢業於太原理工大學,並於中國科學院大學取得碩士學位。曾在聯想、中國數碼、暢訊、山石等公司從事各種軟件研發工作。在研發崗位上,他參與瞭TPM安全芯片、拯救係統、OpenOffice、網絡感知與流控係統、可視IP電話、路由協議、防火牆、HTTP代理和VPN等功能的開發,並曾在中國數碼擔任研發經理,負責多個項目的研發工作。現就職於北京邦天信息技術有限公司,負責防火牆、VPN等功能的開發。
他長期緻力於搭建並維護OpenWrt的代碼搜索服務,網址為openwrt.bjbook.net/source。除此之外,他還作為開源項目Frog的發起人,對中國人口普查數據進行研究。該項目對2010年第六次人口普查數據進行程序算法分析,預測中國人口將在2021年左右達到高峰,以後中國人口數量將逐年下降。
李章明,1986年齣生於山西省昔陽縣,2009年畢業於河北科技師範學院計算機科學與技術專業。曾在華為、德信無綫等公司從事通信設備研發工作。並參與過機頂盒,CDMA基站、CDMA固定颱、路由器、交換機、防火牆、VPN等設備的功能開發。現就職於鵬博士電信傳媒集團,負責智能傢居、物聯網設備、SDN項目的開發。
目錄
第1章 智能路由器概述 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.sh 30
2.2.5 編譯擴展機製feeds 31
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 Libubox 69
4.2.2 UCI 69
4.2.3 UCI API接口 70
4.3 係統內核設置 71
4.3.1 sysctl.conf 71
4.3.2 sysctl 72
4.4 係統配置 73
4.4.1 /etc/rc.local 74
4.4.2 /etc/profile 74
4.4.3 /etc/shells 75
4.4.4 /etc/fstab 75
4.4.5 /etc/services 76
4.4.6 /etc/protocols 77
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 HelloWorld 89
5.2.1 目錄結構 91
5.2.2 Makefile 92
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 什麼是GDB 105
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 ICMP 132
7.4.1 概述 132
7.4.2 報文格式 133
7.4.3 差錯報文 134
7.4.4 查詢報文及響應報文 135
7.4.5 ping 136
7.4.6 TraceRoute 137
7.5 傳輸層協議 137
7.6 綜閤 138
7.7 名詞解釋 141
7.8 參考資料 141
第8章 路由器基礎軟件模塊 143
8.1 libubox 143
8.1.1 libubox 143
8.1.2 jshn 145
8.2 ubus 147
8.2.1 ubusd 148
8.2.2 ubus命令行工具 149
8.3 netifd 152
8.3.1 概述 152
8.3.2 netifd方法 154
8.3.3 netifd文件 158
8.3.4 網絡配置 159
8.4 ubox 160
8.5 procd 163
8.5.1 reload_config 164
8.5.2 procd進程 164
8.5.3 procd.sh 167
8.5.4 rc.common 169
8.5.5 綜閤示例 170
8.6 參考資料 172
第9章 常用軟件模塊 173
9.1 CWMP 173
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 QoS 178
9.3.1 服務模型 178
9.3.2 QoS配置 180
9.4 uHTTPd服務器 181
9.4.1 概述 181
9.4.2 配置 182
9.5 SMTP 183
9.6 NTP 184
9.7 PPPoE 185
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
第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.2 IGMP原理 207
10.4.3 IGMP代理 207
10.4.4 IGMP Proxy管理 209
10.4.5 驗證及調試 210
10.5 名詞解釋 211
10.6 參考資料 212
第11章 DNS與DHCP 213
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 dnsmasq 223
11.4.1 概述 223
11.4.2 配置 224
11.5 動態DNS 228
11.5.1 DDNS原理 228
11.5.2 DDNS配置 229
11.5.3 DNS更新協議及
算法 230
11.6 DNS測試工具 232
11.6.1 nslookup 232
11.6.2 dig 232
11.7 參考資料 234
第12章 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 LOG 241
12.3.6 REDIRECT 241
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.1 Defaults 252
13.2.2 Zones-安全域 253
13.2.3 轉發 253
13.2.4 重定嚮 254
13.2.5 規則 255
13.2.6 include 257
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
第14章 UPnP 264
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應用之IGD 272
14.5.1 IGD框架 272
14.5.2 端口映射在IGD中的應用 274
14.6 參考資料 277
第15章 網絡測試及分析工具 278
15.1 NetCat 278
15.2 TcpDump 283
15.2.1 抓取報文 283
15.2.2 匹配規則 285
15.2.3 使用舉例 287
15.3 參考資料 288
智能路由器開發指南 epub pdf mobi txt 電子書 下載 2024
智能路由器開發指南 下載 epub mobi pdf txt 電子書
評分
☆☆☆☆☆
內容有點舊瞭,而且大多數內容都是點到為止,還需要更多的知識纔看得懂
評分
☆☆☆☆☆
書不錯,內容不可以,學習好幫手,值得購買喲。
評分
☆☆☆☆☆
盡管很淺,但是綱要性指點方嚮,好書。
評分
☆☆☆☆☆
正在學習這方麵的 比網絡上的資料要完整很多
評分
☆☆☆☆☆
比想象中薄,內容總體一般,大概看看吧,入門可以參考下。有點小貴
評分
☆☆☆☆☆
好像唯一一本講openwrt的書。。。
評分
☆☆☆☆☆
不是很滿意,就前麵幾章講得很好,後麵的都是把概念講講貼點代碼,不夠深入。
評分
☆☆☆☆☆
還可以吧
評分
☆☆☆☆☆
不錯的吧,還沒看完,作為入門還行吧,要深入就不閤適瞭