《計算機網(wǎng)絡基礎》第10章 網(wǎng)絡編程_第1頁
《計算機網(wǎng)絡基礎》第10章 網(wǎng)絡編程_第2頁
《計算機網(wǎng)絡基礎》第10章 網(wǎng)絡編程_第3頁
《計算機網(wǎng)絡基礎》第10章 網(wǎng)絡編程_第4頁
《計算機網(wǎng)絡基礎》第10章 網(wǎng)絡編程_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、第10章 網(wǎng)絡編程10.1 網(wǎng)絡編程概述10.2 網(wǎng)絡數(shù)據(jù)包的捕獲和分析10.3 Socket編程10.4 Winpcap編程10.5 電子郵件編程實例計算機網(wǎng)絡技術(shù)-110.1 網(wǎng)絡編程概述10.1.1 網(wǎng)絡編程模式10.1.2 網(wǎng)絡編程語言10.1.3 網(wǎng)絡程序開發(fā)體系結(jié)構(gòu)10.1.4 網(wǎng)絡編程技術(shù)計算機網(wǎng)絡技術(shù)-210.1.1 網(wǎng)絡編程模式C/S客戶機/服務器B/S瀏覽器/服務器計算機網(wǎng)絡技術(shù)-3C/S網(wǎng)絡上的主機是非對等主機間的通信是異步的計算機網(wǎng)絡技術(shù)-410.1.2 網(wǎng)絡編程語言1.編譯語言2. 編譯型解釋語言3. 腳本語言4. 標記語言計算機網(wǎng)絡技術(shù)-51.編譯語言CC+Delp

2、hiPowerBuilder計算機網(wǎng)絡技術(shù)-62. 編譯型解釋語言JavaC#VB計算機網(wǎng)絡技術(shù)-73. 腳本語言JavaScriptPHPPythonPerlRubyVBScript計算機網(wǎng)絡技術(shù)-84. 標記語言HTMLXML計算機網(wǎng)絡技術(shù)-910.1.3 程序開發(fā)體系結(jié)構(gòu)1. 操作系統(tǒng)網(wǎng)絡協(xié)議棧結(jié)構(gòu)2. 網(wǎng)絡應用體系結(jié)構(gòu)和開發(fā)平臺3. API計算機網(wǎng)絡技術(shù)-101. 操作系統(tǒng)網(wǎng)絡協(xié)議棧結(jié)構(gòu)計算機網(wǎng)絡技術(shù)-112. 網(wǎng)絡應用體系結(jié)構(gòu)和開發(fā)平臺Microsoft的.NETIBM的WebSphereOracle的Oracle9Sun的ONE計算機網(wǎng)絡技術(shù)-123. APIAPI應用程序編程接口

3、Windows APIAPI函數(shù)封裝在動態(tài)鏈接庫DLL計算機網(wǎng)絡技術(shù)-1310.1.4 網(wǎng)絡編程技術(shù)1. Web編程2. 網(wǎng)絡通信編程3. 網(wǎng)絡數(shù)據(jù)庫編程計算機網(wǎng)絡技術(shù)-141. Web編程兩大體系Sun公司JSP微軟公司的ASP編程語言JavaScriptPHPPythonPerlRubyVBScript計算機網(wǎng)絡技術(shù)-152. 網(wǎng)絡通信編程Linux下libnet編程libcap編程Socket編程Windows下Winpcap編程Winsock編程計算機網(wǎng)絡技術(shù)-163. 網(wǎng)絡數(shù)據(jù)庫編程大型數(shù)據(jù)庫系統(tǒng)OracleSybaseInformixSQL Server等小型數(shù)據(jù)庫系統(tǒng)Access

4、MYSQL等計算機網(wǎng)絡技術(shù)-17中間件ODBCADOOLE DBDAO等計算機網(wǎng)絡技術(shù)-1810.2 數(shù)據(jù)包捕獲和分析10.2.1 Wireshark的操作10.2.2 Wireshark的過濾表達式設置10.2.3 包結(jié)構(gòu)的定義和字節(jié)順序計算機網(wǎng)絡技術(shù)-1910.2.1 WIRESHARK的操作Ethereal在菜單欄CaptureOptions或Interface中選擇一個網(wǎng)卡,單擊Start按鈕計算機網(wǎng)絡技術(shù)-20捕獲實例訪問百度網(wǎng)站5個數(shù)據(jù)包:兩個DNS報文(查詢和響應)三個TCP數(shù)據(jù)段(三次握手)計算機網(wǎng)絡技術(shù)-21捕獲結(jié)果DNS計算機網(wǎng)絡技術(shù)-2210.2.2 過濾表達式設置例1:

5、只捕獲arp或icmp數(shù)據(jù)包。過濾表達式為:arp or (ip and icmp)或者簡寫為arp or icmp。例2:捕獲以3為源或目的地址的端口為80的tcp數(shù)據(jù)包。過濾表達式為:(ip and tcp) and (host 3) and (port 80)。計算機網(wǎng)絡技術(shù)-2310.2.3 包的定義和字節(jié)順序1. 字節(jié)對齊與內(nèi)存對齊2. 字節(jié)順序計算機網(wǎng)絡技術(shù)-241. 字節(jié)對齊與內(nèi)存對齊對齊模數(shù)要求某種數(shù)據(jù)類型的首地址的值是某個數(shù)k的倍數(shù)字節(jié)對齊方式結(jié)構(gòu)中的各個變量在內(nèi)存中的擺放方式計算機網(wǎng)絡技術(shù)-252. 字節(jié)順序big-endian字節(jié)序高字節(jié)存儲在內(nèi)存的低地址端網(wǎng)絡字節(jié)順序l

6、ittle-endian字節(jié)序高字節(jié)存儲在內(nèi)存的高地址端本機字節(jié)順序計算機網(wǎng)絡技術(shù)-2610.3 Socket編程10.3.1 套接字的類型10.3.2 Socket數(shù)據(jù)結(jié)構(gòu)和函數(shù)10.3.3 Socket編程實例計算機網(wǎng)絡技術(shù)-2710.3.1 套接字的類型流式套接字SOCK_STREAM對應于TCP數(shù)據(jù)報套接字SOCK_DGRAM對應于UDP原始套接字SOCK_RAW對應于IP計算機網(wǎng)絡技術(shù)-2810.3.2 套接字結(jié)構(gòu)和函數(shù)1. Socket主要數(shù)據(jù)結(jié)構(gòu)2. Socket主要函數(shù)3. 輔助函數(shù)計算機網(wǎng)絡技術(shù)-291. Socket主要數(shù)據(jù)結(jié)構(gòu)地址結(jié)構(gòu)通信域類型套接字結(jié)構(gòu)IP地址和主機地址

7、計算機網(wǎng)絡技術(shù)-30TCP/IP套接字結(jié)構(gòu)計算機網(wǎng)絡技術(shù)-31IP地址結(jié)構(gòu)注意IP地址的存儲是網(wǎng)絡字節(jié)順序計算機網(wǎng)絡技術(shù)-32主機地址信息計算機網(wǎng)絡技術(shù)-332. Socket主要函數(shù)SOCKET WSAAPI socket(int af, int type, int protocol)功能:創(chuàng)建一個套接字。參數(shù)af指定通信發(fā)生的區(qū)域(AF_UNIX、AF_INET、AF_NS、AF_IMPLINK)對Winsock來說,它只支持AF_INET;type指出了要建立的套接字類型(SOCK_STREAM、SOCK_DGRAM、SOCK_RAW);protocol指定該套接字使用的特定協(xié)議,如果用

8、戶沒有特別要求,該項置0,使用默認鏈接模式。創(chuàng)建成功,函數(shù)返回一個16位的socket描述符,它是一個指向內(nèi)部數(shù)據(jù)結(jié)構(gòu)的指針。計算機網(wǎng)絡技術(shù)-343. 輔助函數(shù)int WSAAPI gethostname(char FAR * name, int namelen)功能:獲得主機名。參數(shù)name是一個存放主機名字的字符數(shù)組;namelen是這個數(shù)組的長度。調(diào)用函數(shù)返回后,主機名存儲在name中程序中可以使用它來獲得本地IP地址計算機網(wǎng)絡技術(shù)-3510.3.3 SOCKET編程實例1. 典型的函數(shù)調(diào)用時序圖2. 代碼分析計算機網(wǎng)絡技術(shù)-361. 典型的函數(shù)調(diào)用時序圖計算機網(wǎng)絡技術(shù)-372. 代碼分

9、析計算機網(wǎng)絡技術(shù)-3810.4 Winpcap編程10.4.1 Winpcap原理與結(jié)構(gòu)10.4.2 Winpcap數(shù)據(jù)結(jié)構(gòu)與函數(shù)10.4.3 Winpcap編程實例計算機網(wǎng)絡技術(shù)-3910.4.1 WINPCAP原理與結(jié)構(gòu)Winpcap分為內(nèi)核級和用戶級兩級包含三個模塊NPFpacket.dllwpcap.dll計算機網(wǎng)絡技術(shù)-40Winpcap位置計算機網(wǎng)絡技術(shù)-41Winpcap結(jié)構(gòu)計算機網(wǎng)絡技術(shù)-4210.4.2 數(shù)據(jù)結(jié)構(gòu)與函數(shù)1.Wpcap.dll的數(shù)據(jù)結(jié)構(gòu)2.Wpcap.dll的函數(shù)計算機網(wǎng)絡技術(shù)-431.Wpcap.dll的數(shù)據(jù)結(jié)構(gòu)適配器接口IP地址數(shù)據(jù)包捕獲統(tǒng)計信息計算機網(wǎng)絡技

10、術(shù)-44適配器接口網(wǎng)絡適配器的詳細信息計算機網(wǎng)絡技術(shù)-45IP地址接口地址結(jié)構(gòu)計算機網(wǎng)絡技術(shù)-46數(shù)據(jù)包結(jié)構(gòu)計算機網(wǎng)絡技術(shù)-47捕獲統(tǒng)計信息計算機網(wǎng)絡技術(shù)-482.Wpcap.dll的函數(shù)int pcap_findalldevs(pcap_if_t *alldevs, char *errbuff)獲取本機所有網(wǎng)絡接口設備的信息如果返回成功則alldevs中包含全部網(wǎng)絡接口設備的信息失敗則返回-1。計算機網(wǎng)絡技術(shù)-4910.4.3 WINPCAP編程實例1.定義數(shù)據(jù)結(jié)構(gòu)2.程序流程計算機網(wǎng)絡技術(shù)-501. 定義數(shù)據(jù)結(jié)構(gòu)以太網(wǎng)MAC幀計算機網(wǎng)絡技術(shù)-512.程序流程首先獲得網(wǎng)卡的列表信息。根據(jù)用戶

11、的輸入選擇某個網(wǎng)卡打開選擇的網(wǎng)卡。獲取本地MAC地址過濾設置,只接收ARP數(shù)據(jù)包向局域網(wǎng)內(nèi)發(fā)送ARP請求包通過調(diào)用自定義釋放資源。計算機網(wǎng)絡技術(shù)-5210.5 電子郵件編程實例10.5.1 Jmail組件的函數(shù)10.5.2 郵件的發(fā)送10.5.3 郵件發(fā)送時的常見錯誤計算機網(wǎng)絡技術(shù)-53電子郵件編程直接利用SMTP的命令和響應調(diào)用Windows提供的WAPI利用某些組件JmailCDONTSNewMailPersitsMailSenderIISmailIismail等。計算機網(wǎng)絡技術(shù)-5410.5.1 JMAIL組件的函數(shù)計算機網(wǎng)絡技術(shù)-55提供信件正文、收發(fā)人地址等提供發(fā)送郵件函數(shù)Jmail組件的函數(shù)Body:信件正文Charset:字符集ContentType:信件的內(nèi)容類型Sender:發(fā)件人的郵件地址SenderName:發(fā)件人的姓名ServerAddress:郵件服務器的地址Subject:設定郵件的標題AddRecipient:收件人計算機網(wǎng)絡技術(shù)-5610.5.2 郵件的發(fā)送計算機網(wǎng)絡技術(shù)-5710.5.3 郵件發(fā)送常見錯

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論