




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、項(xiàng)目三 TCP 通信及安全編程習(xí)題及解答任務(wù)一 TCP網(wǎng)絡(luò)通信界面構(gòu)建1)、為什么獲得的主機(jī)名、IP地址信息都是集合?解答:網(wǎng)絡(luò)設(shè)備一般主機(jī)名只有一個(gè),但是可以有多個(gè)接口、多個(gè)IP地址信息,或者一個(gè)接口配置多個(gè) IP 地址信息,所以在System.Net空間中Dns類獲取IP地址 信息的方法返回都是集合類型。分析:Dns類下獲取主機(jī)的方法有兩:Dns.GetHostName()、 Dns.GetHostEntry(string host name),獲取 IP 地址集合的方法是 Dns. GetHostAddresses (stri ng host name。2)、Dns類的 GetHostA
2、ddresses(和 GetHostEntry()方法有何區(qū)別?解答:GetHostAddresses ()參數(shù)為 stri ng host name,返回類型為 IP Address;GetHos tEn try()參數(shù)為 stri ng host name,返回類型為 IPH ostE ntry,也可從 IPH ostE ntry 類中通過屬性AddressList獲取主機(jī)IP地址信息集合,現(xiàn)已不建議使用IPHostEntry 類及相關(guān)方法、屬性。分析:在.NetFrameWork4.0中微軟官方已建議不適用IPHostEntry類及相關(guān)方法,建 議使用 Dns. GetHostAddre
3、sses (stri ng host name來獲取 IP 地址信息集合。3)、集合需要什么數(shù)據(jù)結(jié)構(gòu)來存儲(chǔ)?解答:集合是基本數(shù)據(jù)類型的聚類,存儲(chǔ)時(shí)常用的數(shù)據(jù)結(jié)構(gòu)有數(shù)組、列表、字典等類型,C#中分別對(duì)應(yīng)、ListvT Dictionary其中T為泛型表示基本數(shù)據(jù)類 型或自定義數(shù)據(jù)類型,Dictio naryvT,T可用于存儲(chǔ)鍵值對(duì)。分析:C#中數(shù)組和ListvT啖似,用于存儲(chǔ)某種單一數(shù)據(jù)類型的集合, 數(shù)組操作沒有List操作簡(jiǎn)單,但是查找速度數(shù)組要快一些;DictionaryT,T可用于存儲(chǔ)較復(fù)雜 的鍵值對(duì)數(shù)據(jù)。4)、獲取主機(jī)IPV4地址信息的功能有幾種方案實(shí)現(xiàn),采用一個(gè)單獨(dú)的類來實(shí)現(xiàn) 該功能好
4、不好? 解答:獲取主機(jī)IPV4地址可在需要處編碼實(shí)現(xiàn),也可編寫一個(gè)單獨(dú)的類、方法實(shí)現(xiàn), 在需求的地方調(diào)用即可, 把常用的功能單獨(dú)寫成類、 方法可以提高代碼的復(fù)用度。分析:C#是一門面向?qū)ο蟮恼Z(yǔ)言,代碼的高復(fù)用是重要特征之一, 所以在編碼編寫 過程建議預(yù)先規(guī)范,把常用的功能封裝成類 。任務(wù)二TCP網(wǎng)絡(luò)通信服務(wù)器端實(shí)現(xiàn)1)、TCP服務(wù)器端是如何接收和收發(fā)數(shù)據(jù)的?解答:TCP通信即套接字通信,通信雙方通過套接字通道(IP:端口號(hào))進(jìn)行數(shù)據(jù) 傳輸,TCP服務(wù)器端通過監(jiān)聽套接字有無(wú)連接請(qǐng)求,若有連接請(qǐng)求建立套接字通 道,之后通過套接字通道發(fā)送數(shù)據(jù)并監(jiān)聽套接字通道有無(wú)數(shù)據(jù), 若有數(shù)據(jù)讀取并 處理。分析:C
5、#實(shí)現(xiàn)時(shí)涉及 TcpListene、TcpClien、Networkstream 類,TcpListener用于實(shí)現(xiàn)對(duì)指定套接字的監(jiān)聽,發(fā)現(xiàn)連接請(qǐng)求并建立套接字通道,Tcp Clie nt用于描述套接字通道 ; NetworkStream 用于獲取套接字通道 ;數(shù)據(jù)流,進(jìn)行數(shù)據(jù)收發(fā)。2)、TCP會(huì)話階段傳輸?shù)臄?shù)據(jù)最終形態(tài)是二進(jìn)制還是字符串,若應(yīng)用中須傳輸字符串,對(duì)字符編碼有何要求? 解答:計(jì)算機(jī)通信階段統(tǒng)一傳輸二進(jìn)制形式,若需傳輸字符串,需要在發(fā)送端對(duì)其 進(jìn)行字符編碼轉(zhuǎn)換為二進(jìn)制形態(tài), 之后在接收端采用相應(yīng)的字符編碼對(duì)其進(jìn)行解 碼,要求收發(fā)兩段編碼保持一致。分析:任務(wù)中收發(fā)兩端統(tǒng)一采用 UTF
6、-8編碼。3)、TCP服務(wù)器端返回給客戶端的“ Welcome!”信息,其UTF-8編碼的十六進(jìn)制 值是什么?解答:對(duì)應(yīng)的十六進(jìn)制是: 77 65 6C 63 6F 6D 65 2,1 每個(gè)字符對(duì)應(yīng)一個(gè)十六進(jìn)制, 米用的是ASCII編碼。分析:UTF-8編碼兼容ASCII編碼,字符、數(shù)字、標(biāo)點(diǎn)符號(hào)在 UTF-8中都采用ASCII編碼。4 )、 Invoke() 方 法 的 調(diào) 用 者 是 哪 個(gè) 類 , 可 以 使 用 this.Invoke() 替 代ui_text_msg.l nvoke()嗎?請(qǐng)說明原因。解答:可以,調(diào)用者都是組件對(duì)象,在任務(wù)中this表示的當(dāng)前窗體類Form,Form也
7、 屬于組件類,所以可以調(diào)用in voke方法。分析:This.invoke和 ui_text_msg.invoke者E可調(diào)用委托。任務(wù)三TCP網(wǎng)絡(luò)通信客戶端實(shí)現(xiàn)1)簡(jiǎn)述TCP客戶端的通信流程,如何在客戶端發(fā)起半連接操作?解答:TCP客戶端的通信流程:發(fā)起對(duì)服務(wù)器端的連接,收到服務(wù)器端響應(yīng)后建立連接;建立好連接后使用該TCP通道進(jìn)行數(shù)據(jù)的收發(fā),發(fā)送時(shí)服務(wù)器端也將進(jìn)行 響應(yīng);半連接可利用請(qǐng)求 -響應(yīng)模式,當(dāng)接收到服務(wù)器端數(shù)據(jù)時(shí)不對(duì)其進(jìn)行響應(yīng)使得服務(wù)器端消耗資源等待,從而使得服務(wù)器端處于掛起狀態(tài)。分析:2)為何說基于IPV4的TCP通信不安全,請(qǐng)舉例說明?解答:IPV4通信采用明文傳輸,數(shù)據(jù)在傳輸過
8、程一旦被截獲容易造成信息泄露,有 潛在的信息安全危害,tel net、http、ftp都基于IPV4,都存在信息安全問題。分析:加密技術(shù)可以IPV4的信息安全問題,IPV6是較好的替代方案。3)若把服務(wù)器端的響應(yīng)信息“ welcome!”更改為“你好” ,Sniffer軟件捕獲的 是什么數(shù)據(jù),是顯示出“你好”這兩個(gè)漢字信息碼,如果不能,為什么?解答:Sniffer能捕獲到數(shù)據(jù):0xe4 Oxbd OxaO 0xe5 0xa5 Oxbd共6個(gè)字節(jié),但是在 sniffer中顯示“你好”字符,因?yàn)?sniffer默認(rèn)字符編碼為ASCI碼。分析:Sniffer可識(shí)別ASCI碼,無(wú)法識(shí)別UTF-8編碼。
9、任務(wù)四TCP網(wǎng)絡(luò)通信數(shù)據(jù)加密與解密1)、為什么需要在TCP通信中采用Base64字符?解答:TCP通信基于計(jì)算機(jī)網(wǎng)絡(luò),而計(jì)算機(jī)網(wǎng)絡(luò)由很多網(wǎng)絡(luò)設(shè)備和服務(wù)器主機(jī)構(gòu)成, 考慮到部分主機(jī)性能低下,只能支持ASCI碼,所以為了兼容這些低性能的主機(jī),在傳輸過程統(tǒng)一采用base64對(duì)信息進(jìn)行編碼保證每個(gè)字節(jié)的高位都為0,從而兼容ASCII碼,確保信息不丟失。分析:Base6 4是一種編碼規(guī)范,是網(wǎng)絡(luò)傳輸中一種基本編碼,C#自帶有相應(yīng)的轉(zhuǎn)換 方法。2八 服務(wù)器端響應(yīng)的“ welcome! ”信息為何在telnet軟件顯示為 “ /3Xu+LbD9DYJQufF0OQxXw=” ,= 為什么字符會(huì)以兩個(gè)“ =”
10、結(jié)尾?解答:“welcome!”進(jìn)行128bits的Rijndael加密,輸出為長(zhǎng)度16的字節(jié)數(shù)組;之后進(jìn)行 Base64 字符轉(zhuǎn)換,轉(zhuǎn)換的方法是對(duì) 16個(gè)字節(jié)按每 3個(gè)字節(jié)作為一個(gè)劃分,余下用符號(hào)“ =”不足三個(gè)字節(jié),總共有 6 個(gè)劃分,第 6等分不足三位用兩 個(gè)=符號(hào)補(bǔ)齊,之后再把每 3個(gè)字節(jié) 4等分,高兩位用 0補(bǔ)齊,轉(zhuǎn)換為 4個(gè)字節(jié),總共為24( 6X4)個(gè)輸出字符。分析:Base6 4是一種編碼規(guī)范,是網(wǎng)絡(luò)傳輸中一種基本編碼,C#自帶有相應(yīng)的轉(zhuǎn)換方法,Convert類下FromBase64String ToBase64String可實(shí)現(xiàn)字符串與字節(jié)數(shù)組間的相互轉(zhuǎn)換。3)、對(duì)TCP通信
11、數(shù)據(jù)采用Rijndael加密后,就能確保TCP通信安全了嗎?解答:不能,TCP通信分為三個(gè)階段:建立、會(huì)話、終止,TCP通信數(shù)據(jù)加密只能保證會(huì)話階段的數(shù)據(jù)被破解、破譯的成本、難度增加并不代表100%安全,且在任務(wù)沒有實(shí)現(xiàn)對(duì)客戶端的接入認(rèn)證, 服務(wù)器端不能有效的對(duì)接入用戶進(jìn)行身份識(shí) 別。分析:SSL數(shù)字證書是一種TCP通信安全的完整方案。任務(wù)五基于SSL/TLS勺異步TCP通信安全實(shí)現(xiàn)1)、.NetFrameWork 4.0中的SslStream默認(rèn)情況下采用的加密算法、驗(yàn)證算法、密鑰交換算法分別是什么? 解答:加密算法是AES256驗(yàn)證算法sha1、密鑰交換算法是 DH (44550)。分析:
12、可在開發(fā)設(shè)置SSLStream勺相關(guān)屬性從而更改相應(yīng)算法。2)、結(jié)合任務(wù)簡(jiǎn)述對(duì)“SSL建立在TCP基礎(chǔ)之上”這句話的理解?解答:任務(wù)開發(fā)完畢后,證書驗(yàn)證通過才能建立當(dāng)客戶端連接服務(wù)器端先顯示 TCP 連接建立,之后數(shù)字SSL通道,所以先建立TCP再建立SSL通道;在開發(fā)中,基本業(yè)務(wù)也是先建立TCP通道,之后在此基礎(chǔ)之上進(jìn)行 SSL通道建立。分析:數(shù)字證書的傳輸、驗(yàn)證必須依托基礎(chǔ)網(wǎng)絡(luò),所以 TCP是基礎(chǔ)。3)、X.509證書的存儲(chǔ)位置、區(qū)域分別有哪些,請(qǐng)使用 makecert工具創(chuàng)建一個(gè)測(cè)試證書,該證書存儲(chǔ)位置是本地計(jì)算機(jī), 區(qū)域是 My ,自簽署證書, 私鑰可導(dǎo)出, 證書主題為 MyServer?解答:存儲(chǔ)區(qū)域有:個(gè)人(My)、中間證書頒發(fā)機(jī)構(gòu)(CertificateAuthority)、第三方證 書頒發(fā)機(jī)構(gòu)(AuthRoot)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度健康醫(yī)療大數(shù)據(jù)預(yù)付款全新合作協(xié)議
- 二零二五年度幼兒園保育員聘用合同書-幼兒教育創(chuàng)新項(xiàng)目合作
- 二零二五年度環(huán)保咨詢服務(wù)營(yíng)業(yè)執(zhí)照轉(zhuǎn)讓合同
- 二零二五年度一手房購(gòu)房意向金預(yù)定合同
- 2025年度有限責(zé)任公司股東離任協(xié)議書
- 二零二五年度拆除房屋及土地回收合同范本
- 二零二五年度學(xué)校食堂承包經(jīng)營(yíng)與服務(wù)滿意度提升協(xié)議
- 二零二五年度離職后商業(yè)秘密保護(hù)及競(jìng)業(yè)限制合同
- 二零二五年度房屋維修安全責(zé)任保險(xiǎn)協(xié)議
- 二零二五年度美容院養(yǎng)生保健入股合同協(xié)議
- 《社保知識(shí)培訓(xùn)》教學(xué)課件
- 肌力與肌張力課件
- 學(xué)生檔案登記表
- is620p系列伺服用戶手冊(cè)-v0.2綜合版
- 電信渠道管理人員考核管理辦法
- 勘察工作內(nèi)容及方案
- 八年級(jí)數(shù)學(xué)(上冊(cè))整式計(jì)算題練習(xí)100道無(wú)答案_新人教版
- 評(píng)審會(huì)專家意見表
- 托管中心學(xué)生家長(zhǎng)接送登記表
- 橋梁施工危險(xiǎn)源辨識(shí)與防控措施
- YD 5062-1998 通信電纜配線管道圖集_(高清版)
評(píng)論
0/150
提交評(píng)論