《Windows網絡編程課程設計/高等院校計算機課程設計指導叢書》以Visual Studio C ++作為實驗環境,設計了有關Windows系統中網絡編程的延續性單元實踐和可擴展專題實踐項目,將計算機網絡的基本原理與應用緊密結合。本書給出了操作分析類、程序設計類和程序分析類3大類共21個實踐項目,應用范圍涵蓋網絡應用程序逆向分析、網絡基本通信、網絡通信框架設計、網絡應用程序性能測量與分析、網絡應用程序可靠性分析、網絡異步操作和底層通信控制等。本書實踐環節基于主流開發環境和開源代碼軟件,不需要特殊的軟硬件平臺投入,既方便學生課后練習,也可以供教師組織實踐教學。
本書系統性較強、結構清晰、論述嚴謹,既突出基本原理和技術思想,也強調工程實踐,適合作為網絡工程、信息安全、計算機應用、計算機軟件、通信工程等專業的本科生教材,也可供從事網絡工程、網絡應用開發和網絡安全等工作的技術人員參考。
前言
教學和閱讀建議
第1章 網絡應用程序運行分析
1.1 實驗目的
1.2 網絡流量捕獲工具
1.2.1 Wireshark的安裝和卸載
1.2.2 Wireshark用戶界面
1.2.3 使用Wireshark進行數據報文捕獲
1.2.4 捕獲過濾
1.2.5 處理捕獲數據報文
1.3 網絡狀態顯示工具
1.3.1 Netstat命令
1.3.2 Netstat參數功能
1.4 網頁郵件登錄過程分析
1.4.1 實驗要求
前言
教學和閱讀建議
第1章 網絡應用程序運行分析
1.1 實驗目的
1.2 網絡流量捕獲工具
1.2.1 Wireshark的安裝和卸載
1.2.2 Wireshark用戶界面
1.2.3 使用Wireshark進行數據報文捕獲
1.2.4 捕獲過濾
1.2.5 處理捕獲數據報文
1.3 網絡狀態顯示工具
1.3.1 Netstat命令
1.3.2 Netstat參數功能
1.4 網頁郵件登錄過程分析
1.4.1 實驗要求
1.4.2 實驗內容
1.4.3 實驗過程示例
1.4.4 實驗總結與思考
1.5 迅雷軟件運行過程分析
1.5.1 實驗要求
1.5.2 實驗內容
1.5.3 實驗過程示例
1.5.4 實驗總結與思考
第2章 Windows Sockets編程基礎
2.1 實驗目的
2.2 Windows Sockets
2.2.1 Windows Sockets規范
2.2.2 Windows Sockets版本
2.2.3 Windows Sockets組成
2.3 Windows Sockets編程接口
2.3.1 Windows Sockets API
2.3.2 Windows Sockets DLL的初始化和釋放
2.4 獲取主機的IP地址
2.4.1 實驗要求
2.4.2 實驗內容
2.4.3 實驗過程示例
2.4.4 實驗總結與思考
第3章 基于流式套接字的網絡程序設計
3.1 實驗目的
3.2 流式套接字編程要點
3.2.1 TCP--傳輸控制協議
3.2.2 流式套接字的通信過程
3.2.3 流式套接字編程模型
3.3 基于流式套接字的時間同步服務器設計
3.3.1 實驗要求
3.3.2 實驗內容
3.3.3 實驗過程示例
3.3.4 實驗總結與思考
3.4 流式套接字網絡功能框架設計
3.4.1 實驗要求
3.4.2 實驗內容
3.4.3 實驗過程示例
3.4.4 實驗總結與思考
3.5 基于流式套接字的服務器回射程序設計
3.5.1 實驗要求
3.5.2 實驗內容
3.5.3 實驗過程示例
3.5.4 實驗總結與思考
3.6 基于流式套接字的并發服務器設計
3.6.1 實驗要求
3.6.2 多線程編程要點
3.6.3 實驗內容
3.6.4 實驗過程示例
3.6.5 實驗總結與思考
3.7 服務器回射程序運行過程分析
3.7.1 實驗要求
3.7.2 實驗內容
3.7.3 實驗過程示例
3.7.4 實驗總結與思考
3.8 提高流式套接字網絡程序對流數據的接收能力
3.8.1 實驗要求
3.8.2 實驗內容
3.8.3 實驗過程示例
3.8.4 實驗總結與思考
3.9 提高流式套接字網絡程序的傳輸效率
3.9.1 實驗要求
3.9.2 實驗內容
3.9.3 實驗過程示例
3.9.4 實驗總結與思考
第4章 基于數據報套接字的網絡程序設計
4.1 實驗目的
4.2 數據報套接字編程要點
4.2.1 UDP--用戶數據報協議
4.2.2 數據報套接字的通信過程
4.2.3 數據報套接字編程模型
4.3 數據報套接字網絡功能框架設計
4.3.1 實驗要求
4.3.2 實驗內容
4.3.3 實驗過程示例
4.3.4 實驗總結與思考
4.4 基于數據報套接字的服務器回射程序設計
4.4.1 實驗要求
4.4.2 實驗內容
4.4.3 實驗過程示例
4.4.4 實驗總結與思考
4.5 無連接應用程序丟包率測試
4.5.1 實驗要求
4.5.2 實驗內容
4.5.3 實驗過程示例
4.5.4 實驗總結與思考
第5章 基于原始套接字的網絡程序設計
5.1 實驗目的
5.2 原始套接字編程要點
5.3 原始套接字網絡功能框架設計
5.3.1 實驗要求
5.3.2 實驗內容
5.3.3 實驗過程示例
5.3.4 實驗總結與思考
5.4 基于原始套接字的回射客戶端程序設計
5.4.1 實驗要求
5.4.2 實驗內容
5.4.3 實驗過程示例
5.4.4 實驗總結與思考
5.5 traceroute程序設計
5.5.1 實驗要求
5.5.2 實驗內容
5.5.3 實驗過程示例
5.5.4 實驗總結與思考
第6章 網絡I/O模型的應用
6.1 實驗目的
6.2 套接字的I/O模式和I/O模型
6.2.1 網絡中的I/O操作
6.2.2 套接字的I/O模型
6.3 基于I/O復用模型的回射服務器程序設計
6.3.1 實驗要求
6.3.2 實驗內容
6.3.3 實驗過程示例
6.3.4 實驗總結與思考
6.4 基于WSAAsyncSelect模型的文字聊天軟件設計
6.4.1 實驗要求
6.4.2 實驗內容
6.4.3 實驗過程示例
6.4.4 實驗總結與思考
6.5 基于完成端口模型的代理服務器設計
6.5.1 實驗要求
6.5.2 實驗內容
6.5.3 實驗過程示例
6.5.4 實驗總結與思考
第7章 WinPcap編程
7.1 實驗目的
7.2 WinPcap的體系結構
7.2.1 網絡組包過濾模塊
7.2.2 WinPcap編程接口
7.3 ARP欺騙程序設計
7.3.1 實驗要求
7.3.2 實驗內容
7.3.3 實驗過程示例
7.3.4 實驗總結與思考
7.4 應用級網橋程序設計
7.4.1 實驗要求
7.4.2 實驗內容
7.4.3 實驗過程示例
7.4.4 實驗總結與思考
附錄 Windows Sockets錯誤碼
參考文獻
在信息化高度發展的今天,網絡應用層出不窮,技術日新月異。越來越多的應用運行在網絡環境下,這就要求程序員能夠在最普及的Widows操作系統上開發網絡應用程序。目前,國內大批專門從事網絡技術開發與技術服務的研究機構和高科技企業需要網絡基礎扎實、編程技術精湛的專業技術人才。作為計算機網絡課程體系的重要組成部分,網絡編程相關課程已在國內各大高校開設。
網絡應用程序具有理論與實踐結合緊密、編程模型可復用、運行結果受環境影響大等特點。著眼于Widows網絡編程基本技能的訓練和強化,本書內容的組織充分考慮了教學過程的可實施性,設計了前后貫穿的延續性單元實踐項目,突出編程方法的差異性;設計了由淺入深的可擴展專題實踐項目,豐富實踐內容,強化學習效果。通過本書內容的學習,讀者可以深入實踐Widows系統中網絡編程的基本方法,系統掌握網絡數據處理的原理和技術,為將來從事網絡技術研究、網絡應用程序開發和網絡管理等工作打下堅實的基礎。
本書共分7章,并在最后提供了一個附錄,主要內容如下:
第1章利用Widows系統中的兩個常用網絡分析工具:網絡流量捕獲工具Wireshark和網絡狀態顯示工具etstat.并選擇郵件登錄和迅雷軟件下載兩種常見的網絡應用,完成軟件運行過程分析工作,目的在于幫助學生熟悉常用的網絡編程輔助工具,掌握網絡應用程序的調試和分析技能。
第2章重點闡述WidowsSockets的基本組成和WidowsSockets編程接口的具體功能,通過主機lP地址獲取的簡單設計類項目來熟悉和掌握WidowsSockets編程基本方法,目的在于幫助學生熟悉WidowsSockets接口函數的具體功能,掌握使用WidowsSockets的基本配置和開發過程。
第3章闡述流式套接字編程的適用場合和基本方法,在此基礎上,通過一系列項目來訓練學生掌握循環方式和并發方式下的流式套接字編程、網絡通信的框架設計、基于流式套接字的網絡程序的故障分析、字節流處理的接收控制和效率提升等。
第4章闡述數據報套接字編程的適用場合和基本方法,在此基礎上,設計了三個設計類實踐項目,力圖訓練學生掌握數據報套接字編程、基于無連接傳輸服務的數據報套接字網絡程序的故障分析等。
第5章闡述原始套接字編程的適用場合和基本方法,在此基礎上,由簡到繁設計了三個設計類實踐項目,力圖訓練學生掌握原始套接字的基本使用方法和高級參數設置,幫助學生熟練使用原始套接字,靈活控制底層傳輸協議,實現更低層次的網絡應用程序。