計算機網路高級軟體編程技術(第2版)

《計算機網路高級軟體編程技術(第2版)》定價為52元,ISBN為9787302261469。

圖書簡介

本書是在2008年版的基礎上修訂的。全書共分23章,第1章為本書的內容介紹與教學輔導,第2章~第23章提供22個網路軟體編程題目,分為基礎訓練、綜合訓練與提高訓練3種不同的類型與5個不同的難度級,由讀者根據自身的基礎與學習要求選擇編程題目,循序漸進地學習並獨立完成網路軟體編程訓練,以實現“通過實際網路編程課題的訓練,達到深入理解網路基本工作原理,掌握網路環境中軟體編程方法,提高網路軟體編程能力”的目的。書中基礎訓練、綜合訓練與提高訓練中的每章對應一個編程題目。每章包括編程訓練的目的、要求、相關知識、設計分析和擴展內容,並根據教學經驗對不同程度與不同要求的讀者的訓練課題的選擇與進度安排提出了建議。隨書光碟附有所有網路編程題目的參考答案與完成編程所需要的相關工具。

目錄

第一部分計算機網路軟體編程訓練要求與教學指導

第1章計算機網路課程內容、編程訓練目的與教學指導3

1.1計算機網路課程特點與網路軟體人才需求的形勢3

1.2計算機網路技術的研究與發展4

1.2.1發展主線1:Internet技術4

1.2.2發展主線2:無線網路技術6

1.2.3發展主線3:網路安全技術8

1.2.4總結9

1.3《計算機網路高級教程》的相關內容安排12

1.3.1計算機網路技術的研究與發展12

1.3.2廣域網技術12

1.3.3區域網路技術13

1.3.4城域網技術13

1.3.5IPv4協定13

1.3.6IPv6協定14

1.3.7移動IP協定14

1.3.8TCP與UDP協定14

1.3.9網路套用和套用層協定14

1.3.10無線Adhoc網路、無線感測器網路與無線格線網研究15

1.3.11網路安全與網路管理技術的研究15

1.3.12網路性能分析、網路模擬與開源工具包15

1.4網路軟體編程課題訓練目的與基本內容16

1.4.1基礎類網路軟體編程課題訓練目的與基本內容16

1.4.2綜合類網路軟體編程課題訓練目的與基本內容19

1.4.3提高類網路軟體編程課題訓練目的與基本內容20

1.4.4網路軟體編程訓練選題指導26

第二部分基礎訓練篇

第2章Ethernet幀結構解析程式31

2.1編程訓練目的31

2.2編程訓練要求31

2.3相關知識35

2.3.1幀結構35

2.3.2Ethernet幀的接收流程分析36

2.3.3CRC校驗37

2.4編程訓練設計分析40

2.4.1程式設計思路及實現40

2.4.2主要流程圖44

2.5擴展與提高45

2.5.1CRC-32校驗查表法實現45

2.5.2Ethernet幀的傳送流程分析47

第3章使用ARP協定獲取區域網路內活動主機物理地址程式49

3.1編程訓練目的49

3.2編程訓練要求49

3.3相關知識50

3.3.1ARP協定工作原理50

3.3.2ARP協定相關數據幀結構51

3.4編程訓練設計分析51

3.4.1程式流程介紹51

3.4.2編程要點分析51

3.5擴展與提高57

3.5.1ARP欺騙57

3.5.2使用Windows自帶API庫實現類似功能58

3.5.3使用WindowsAPI獲得主機MAC地址59

第4章計算校驗和程式62

4.1編程訓練目的62

4.2編程訓練要求62

4.3相關知識63

4.3.1網際校驗和算法63

4.3.2網際校驗和算法特性64

4.3.3計算舉例65

4.4編程訓練設計分析67

4.4.1程式設計思路及實現67

4.4.2程式流程圖68

4.5擴展與提高69

4.5.1增量式算法的補碼實現69

4.5.2對增量式算法的改進70

第5章IP包流量分析程式72

5.1編程訓練目的72

5.2編程訓練要求72

5.3相關知識73

5.3.1IP協定73

5.3.2IP數據報格式74

5.4編程訓練設計分析77

5.4.1捕獲IP數據包77

5.4.2統計IP數據包的信息80

5.4.3程式流程圖82

5.5擴展與提高83

5.5.1使用Winpcap捕獲數據包84

5.5.2使用map結構存儲IP數據包信息85

第6章Tracert程式88

6.1編程訓練目的88

6.2編程訓練要求88

6.3相關知識90

6.3.1Tracert的實現原理90

6.3.2ICMP協定及報文格式90

6.4編程訓練設計分析93

6.4.1核心代碼及說明93

6.4.2程式流程圖99

6.5擴展與提高100

6.5.1使用自行提供IP報頭的方法傳送ICMP報文100

6.5.2使用ICMP幫助函式館傳送ICMP報文100

第7章IPv6報文封裝及地址生成程式103

7.1編程訓練目的103

7.2編程訓練要求103

7.3相關知識104

7.3.1IPv6報頭104

7.3.2IPv6擴展報頭106

7.3.3IPv6地址107

7.4編程訓練設計分析112

7.4.1IPv6基本報頭的填充113

7.4.2IPv6地址生成算法114

7.4.3程式流程圖116

7.5擴展與提高117

7.5.1用於IPv6的TCP/UDP偽報頭117

7.5.2包含TCP報頭的IPv6數據封裝118

第8章TCP和UDP數據包傳送程式120

8.1編程訓練目的120

8.2編程訓練要求120

8.3相關知識121

8.3.1UDP協定簡介121

8.3.2TCP協定簡介121

8.4編程訓練設計分析122

8.4.1數據包頭結構定義122

8.4.2填充數據包過程介紹124

8.4.3TCP/UDP協定網際校驗和計算方法125

8.5擴展與提高126

8.5.1使用原始套接字完成題目要求126

8.5.2使用NDIS協定驅動傳送自定義數據幀127

第9章基於C/S結構的套接字程式設計130

9.1編程訓練目的130

9.2編程訓練要求130

9.3相關知識132

9.3.1C/S結構網路模型132

9.3.2WindowsSockets編程簡介132

9.3.3基本套接字API調用134

9.3.4典型編程調用時序圖136

9.4編程訓練設計分析137

9.4.1Server端結構設計及代碼說明138

9.4.2Client端結構設計及代碼說明142

9.5擴展與提高143

9.5.1Winsock的兩種I/O模式143

9.5.2WindowsSockets下的4種編程模型143

9.5.3使用WSAAsynSelect進行異步I/O編程146

第10章滑動視窗協定模擬程式149

10.1編程訓練目的149

10.2編程訓練要求149

10.3相關知識150

10.3.1滑動視窗協定的流量控制150

10.3.2滑動視窗協定的差錯控制150

10.4編程訓練設計分析152

10.4.1協定模擬過程分析152

10.4.2滑動視窗協定基本算法153

10.4.3核心代碼及其說明156

10.5擴展與提高164

10.5.1傳輸層與鏈路層滑動視窗協定比較164

10.5.2TCP滑動視窗協定的基本原理164

第11章WebServer程式166

11.1編程訓練目的166

11.2編程訓練要求166

11.3相關知識167

11.3.1HTTP的工作過程167

11.3.2HTTP的訊息格式168

11.3.3HTTP1.1的改進171

11.4編程訓練設計分析172

11.4.1客戶請求處理模組實現172

11.4.2回響生成傳送模組實現174

11.5擴展與提高177

11.5.1HTTP認證機制177

11.5.2Basic認證的代碼實現180

第12章無線區域網路802.11協定CSMA/CA算法模擬程式184

12.1編程訓練目的184

12.2編程訓練要求184

12.3相關知識185

12.3.1802.11協定概述185

12.3.2CSMA/CA協定的工作流程185

12.4編程訓練設計分析186

12.4.1主執行緒代碼分析186

12.4.2數據接收執行緒代碼分析186

12.4.3數據傳送執行緒代碼分析187

12.5擴展與提高190

12.5.1無線區域網路的發展190

12.5.2IEEE802.11b的主要優點190

12.5.3IEEE802.11b無線網路包含組件190

12.5.4IEEE802.11b運作模式191

12.5.5IEEE802.11b運作基礎191

第13章公鑰密碼實現程式192

13.1編程訓練目的192

13.2編程訓練要求192

13.3相關知識193

13.3.1密碼學相關背景知識193

13.3.2RSA密碼機制簡介195

13.4編程訓練設計分析196

13.4.1模乘運算和模冪運算模組196

13.4.2生成隨機的大素數197

13.4.3求最大公約數199

13.4.4計算私鑰200

13.4.5加密解密過程200

13.5擴展與提高201

13.5.1RSA安全性201

13.5.2其他公鑰密碼體系202

13.5.3對稱密碼體系簡介203

第三部分綜合訓練篇

第14章路由器基本功能實現程式20714.1編程訓練目的207

14.2編程訓練要求207

14.3相關知識209

14.3.1路由器結構與功能209

14.3.2路由選擇的基本原理210

14.3.3路由表212

14.3.4ICMP差錯報文214

14.4編程訓練設計分析215

14.4.1路由程式的設計215

14.4.2測試環境的搭建227

14.5擴展與提高228

14.5.1OSPF簡介229

14.5.2OSPF協定工作原理230

14.5.3OSPF路由表的算法實現232

第15章FTP協定實現程式235

15.1編程訓練目的235

15.2編程訓練要求235

15.3相關知識236

15.3.1FTP協定簡介236

15.3.2FTP命令簡介237

15.4編程訓練設計分析238

15.4.1程式總體結構分析238

15.4.2工作者執行緒函式介紹240

15.5擴展與提高259

15.5.1完成連線埠相關原理259

15.5.2Windows其他網路I/O傳輸程式架構比較261

第16章協定分析器程式264

16.1編程訓練目的264

16.2編程訓練要求264

16.3相關知識265

16.3.1協定分析器基本原理265

16.3.2TCP/IP分層體系結構265

16.3.3數據的封裝與解析266

16.4編程訓練設計分析267

16.4.1協定分析器總體結構設計267

16.4.2數據捕獲模組267

16.4.3協定解析模組270

16.5擴展與提高277

16.5.1使用原始套接字方式完成數據捕獲過程277

16.5.2在協定分析器中使用Winpcap的高級特性278

第17章綜合掃描器程式281

17.1編程訓練目的281

17.2編程訓練要求281

17.3相關知識282

17.3.1ARP掃描282

17.3.2ICMP掃描282

17.3.3TCP掃描282

17.3.4UDP掃描283

17.4編程訓練設計分析284

17.4.1ARP掃描實現284

17.4.2ICMP掃描實現287

17.4.3TCPConnect掃描實現291

17.4.4TCPSYN掃描實現293

17.4.5TCPFIN掃描實現299

17.4.6UDP掃描實現301

17.5擴展與提高305

17.5.1ICMP掃描擴展305

17.5.2TCP掃描擴展306

17.5.3UDP掃描擴展307

17.5.4掃描的其他套用307

17.5.5系統漏洞掃描簡介308

第四部分提高訓練篇

第18章基於SNMP協定的網路拓撲發現程式311

18.1編程訓練目的311

18.2編程訓練要求311

18.3相關知識312

18.3.1SNMP協定簡介312

18.3.2異步過程調用314

18.4編程訓練設計分析315

18.4.1主體結構315

18.4.2功能模組簡介316

18.4.3相關代碼剖析316

18.5擴展與提高325

18.5.1其他網路管理協定簡介325

18.5.2網路管理新技術326

第19章利用OpenSSL實現安全的WebServer程式327

19.1編程訓練目的327

19.2編程訓練要求327

19.3相關知識328

19.3.1SSL協定介紹328

19.3.2OpenSSL庫330

19.4編程訓練設計分析335

19.4.1程式設計思路及實現335

19.4.2Server端認證證書的生成339

19.5擴展與提高340

19.5.1客戶端認證340

19.5.2基於IPSec的安全通信341

第20章簡單防火牆程式345

20.1編程訓練目的345

20.2編程訓練要求345

20.3相關知識346

20.3.1防火牆簡介346

20.3.2系統包過濾API介紹347

20.4編程訓練設計分析349

20.4.1程式流程分析349

20.4.2核心代碼分析349

20.5擴展與提高353

20.5.1基於APIHook的數據包過濾技術353

20.5.2基於SPI的數據包過濾技術356

第21章防火牆擴展功能程式359

21.1編程訓練目的359

21.2編程訓練要求359

21.3相關知識360

21.3.1Windows網路協定棧結構360

21.3.2Windows網路數據攔截技術綜述363

21.4編程訓練設計分析366

21.4.1程式流程分析366

21.4.2核心代碼分析367

21.5擴展與提高375

21.5.1基於TDI過濾驅動的防火牆技術375

21.5.2基於NDIS中間層的數據包過濾技術379

第22章NS-2簡單有線網路模擬程式382

22.1編程訓練目的382

22.2編程訓練要求382

22.3相關知識383

22.3.1NS-2簡介及原理概述383

22.3.2NS-2的下載與安裝385

22.3.3NS-2網路模擬的基本流程386

22.3.4NS-2學習方法386

22.3.5NS-2學習資源列表388

22.4編程訓練設計分析388

22.4.1模擬場景描述388

22.4.2模擬腳本及其說明389

22.4.3模擬的Nam演示392

22.4.4模擬結果的統計分析392

22.5擴展與提高397

22.5.1有線網路中的Ethernet模擬397

22.5.2NS-2模擬腳本生成工具399

第23章使用NS-2模擬無線Adhoc網路400

23.1編程訓練目的400

23.2編程訓練要求400

23.3相關知識401

23.3.1NS-2的無線網路模型401

23.3.2移動節點的創建403

23.3.3移動節點的運動404

23.3.4移動場景與流量場景的自動生成404

23.4編程訓練設計分析406

23.4.1模擬場景描述406

23.4.2模擬腳本及其說明406

23.4.3模擬的Nam演示410

23.4.4模擬結果的統計分析411

23.5擴展與提高415

23.5.1使用場景生成器和流量產生器進行無線模擬415

23.5.2深入學習導讀416

23.5.3一個NS-2無線模擬腳本生成工具417

附錄AWinpcap簡介與使用說明418

A.1Winpcap簡介418

A.2使用Winpcap編程的一般步驟419

A.3Winpcap動態庫419

附錄BWindowsDriverModule簡介423

附錄CNS-2在Linux和Windows+Cygwin下的安裝425

參考文獻43

相關詞條

熱門詞條

聯絡我們