網絡安全技術配置與應用題庫帶答案測試題模擬題練習題復習題_第1頁
網絡安全技術配置與應用題庫帶答案測試題模擬題練習題復習題_第2頁
網絡安全技術配置與應用題庫帶答案測試題模擬題練習題復習題_第3頁
網絡安全技術配置與應用題庫帶答案測試題模擬題練習題復習題_第4頁
網絡安全技術配置與應用題庫帶答案測試題模擬題練習題復習題_第5頁
已閱讀5頁,還剩31頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、項目一 網絡安全與接入控制配置習題及解答任務一 網絡安全概念及演示1)、Vmware WorkStation的網絡設置方式Bridged、Nat、Host Only有何區別?解答:Vmware WorkStation在物理主機上創建虛擬機,物理主機稱為宿主機,虛擬機稱為客戶機,宿主機與客戶機之間網絡設置有三種方式:Bridged、Host Only、Nat,分別對應宿主機上三個虛擬網卡:VMnet0、VMnet1、VMnet8。Bridged為橋接方式,通過VMnet0虛擬交換機橋接客戶機與宿主機,相當于兩者共同使用物理網卡,可分別對網卡設置IP地址信息,能與外界網絡建立通信; Host-On

2、ly模式下,虛擬網絡是一個全封閉的網絡,宿主機與客戶機之間通過VMnet1虛擬網卡進行通信,客戶機唯一能夠訪問的就是宿主機,不能與外界網絡建立通信,在該模式下客戶機不能連接到Internet;Nat模式下,宿主機提供地址轉換服務,宿主機與客戶機之間通過VMnet8虛擬網卡進行通信,客戶機可以通過宿主機提供的NAT服務連接到Internet。分析:在IPV4抓包任務中,虛擬機可統一設置為Bridged或Host Only模式。2)、Sniffer捕獲到Telnet交互數據用戶名部分為何每個字母都被捕獲到兩次?解答:Telnet服務中默認開啟了信息回顯功能,所以在Telnet會話過程中能捕獲到兩次

3、數據。分析:通過wireShark抓包時也可看到捕獲了兩次。3)、Telnet交互中如果在客戶端錄入中文用戶名和密碼,Sniffer可以正常捕獲到Telnet交互數據嗎,數據是什么形式?解答:Sniffer可以捕獲到亂碼字符,這是因為在Telnet客戶端輸入中文后,系統會采用默認編碼對其進行編碼轉換為字節流,Sniffer捕獲到傳輸過程中的字節流后,采用Sniffer默認的字符編碼對字節流進行解碼,因兩邊默認的字符編碼不一致導致Sniffer不能正常的識別中文字符。分析:Windows 7中文操作系統默認采用GBK編碼,而Sniffer默認識別ASCII,兩者間編碼不一致。任務二 交換機端口接

4、入安全配置1)、為什么在配置端口安全時建議關閉端口,結合實例進行說明?解答:思科交換機端口安全默認關閉,端口安全啟用后違規處理方式默認為關閉端口,所以在端口安全應用中建議先關閉端口,之后啟用端口安全,端口安全設置完畢后再開啟端口,免得觸發違規后端口自動關閉,產生網絡故障。在本節任務中,如果不先關閉端口,啟動C1的端口安全并設置最大MAC數為3后,C1 F0/3端口會自動關閉從而影響任務配置。分析:啟動C1的端口安全并設置最大MAC數為3后,C1 F0/3端口能學習的MAC地址包括PC0 、PC1 、VLAN1下的S1 FA0/3、VLAN2下的S1 FA0/3 四個MAC,會觸發違規,自動關閉

5、端口,所以在使用中建議先關閉端口,之后根據需要更改違規處理行為。2)、任務中為何C1 Fa0/1接口最大安全MAC地址數設為3,而Fa0/2接口為6?解答:任務要求只允許PC1 SSH C1, C1上啟用端口安全實現這個要求只能在FA0/1采用如下組合:最大MAC數為3 + 靜態MAC為PC1 MAC;這樣可保證C1首先能學到PC1的MAC,其次可學習到S1 下VLAN1、2 FA0/3端口的MAC地址;Fa0/2端口下可學習的MAC包括:S2 下VLAN1、2 FA0/3端口的MAC地址、S2 VLAN1 、PC3的MAC共4個,設置6可滿足要求。分析:從上述設置可看到利用端口安全來實現對接

6、入設備的訪問控制不是很合理,一旦要求有所有變化,就得更改端口安全的設置策略。3)、圖1- 24中C1Fa0/2接口下對應4個MAC,為何進行PC2、PC3互Ping后,Fa0/2接口下會出現6個MAC地址?解答:Fa0/2端口下可學習的MAC包括:S2 下VLAN1、2 FA0/3端口的MAC地址、S2 VLAN1 、PC3 VLAN1的MAC共4個,當PC2 PING PC3后,C1通過Fa0/2會學到PC2的MAC和PC3 VLAN2的MAC。分析:交換機學習MAC時,每個端口起始都處于VLAN1下,交換機啟動后若有通信,交換機都能學到VLAN1下各PC的MAC,劃分VLAN后交換機也會學

7、習到VLAN下對應的MAC,所有可以看到C1可以學習到PC3 VLAN1和VLAN2下的MAC地址信息。任務三 PPPOE接入配置1)、AC設備上的IP地址池是否需與其fa0/0接口IP地址處于同一個子網,若不必在同一子網如何對任務的配置進行更改?解答:AC設備的地址池是通過撥號接口和物理接口分配給PPPOE接入用戶的,PPPOE配置時可使得撥號接口(綁定于Virtual-Template接口)與物理接口(任務中為fa0/0)、地址池處于同一網段,也可不屬于同一網段,看具體需求;任務中配置時處于同一網段,目的是方便理解;若要設置為不同網段,須為AC的撥號接口設置與fa0/0不同網段的IP地址,

8、地址池與撥號接口地址處于同一網段。分析:PPPOE用戶通過撥號接口接入并建立通道,撥號接口是AC設備上實現PPPOE接入的關鍵接口。2)、AC設備上配置默認路由時為何須采用下一跳IP地址形式?解答:任務中AC設備通過交換機與其它網絡設備連接,是一個廣播式網絡(非點對點),如果使用出口形式制定路由,路由器無法準確的把數據送給下一個路由器,要準確指定數據包送出的下一個設備只能使用下一跳IP地址形式。分析:在思科路由器配置中,當使用出口配置靜態路由時,系統都會提示該配置方式不適用于非點對點網絡。3)、Virtual-Access虛擬接口在PPPoE 實現中取得什么作用?解答:Virtual-Acce

9、ss接口分為兩類:一類是母接口,一類是子接口,母接口是配置VPDN時生成,子接口是AC設備在PPPoE用戶成功接入后動態產生的虛擬接口,無IP地址,每個PPPoE接入用戶對應一個唯一編號的Virtual-Access子接口,PPPoE使用該接口來管理PPPOE會話。分析:Virtual-Access虛擬子接口是Virtual-Access母接口派生出的PPPOE會話接口,用于標識一個唯一的PPPOE用戶。項目二 網絡安全防護技術習題及解答任務一 訪問控制列表(ACL)1)思考如何禁止PC0 訪問服務器Server0的FTP、TELNET和SSH服務,并在2.1.4任務完成的基礎上實現該需求。解

10、答:在R0上建立ACL NO_ACCESS,該ACL內容如下ip access-list extended NO_ACCESSdeny tcp any 55 eq ftpdeny tcp any 55 eq telnetdeny tcp any 55 eq 22permit ip any any實現時,在interface Serial0/3/0下應用即可,interface Serial0/3/0ip access-group NO_ACCESS out2)思考在2.1.4任務實施結束后,PC2能訪問服務器的WEB服務嗎?如果不能,思考故障原因,并修改配置使PC2能夠訪問服務器的WEB服務。

11、解答:不能。原因是原acl中的deny tcp any 55 eq www命令沒有針對PC0做限制,而是對任意地址做了限制。講該命令修改為deny tcp host 55 eq www即可。3)思考如何僅在R1上設置ACL實現此任務的兩個需求,請寫出相應的ACL并上機測試。如果你對R0和R1這兩臺路由器都能進行控制,請思考并重新設置ACL的放置位置。解答:針對需求1,參考ACL為:R1(config)#access-list 2 deny host R1(config)#access-list 2 permit any 根據前面所述的ACL放置原則,標準 ACL 不指定目的地址,所以其位置應該

12、盡可能靠近目的地,所以選擇接口int f0/0。由于要檢查的數據流是從接口f0/0流出的,所以檢查方向為out。配置命令如下:R1(config)#interface f0/0R1(config-if)#ip access-group 2 out針對需求2,參考ACL為:R1(config)#ip access-list extended NO_ACCESS_WWWR1(config-ext-nacl)#deny tcp any 55 eq www根據前面所述的ACL放置原則,擴展 ACL 放置在盡可能靠近需要過濾的流量源的位置上,所以選擇接口s0/3/0。由于要檢查的數據流是從接口s0/3/

13、0流入的,所以檢查方向為in。配置命令如下:R1(config)#int s0/3/0R1(config-if)#ip access-group NO_ACCESS_WWW in如果對R0和R1這兩臺路由器都能進行控制,請思考并重新設置ACL的放置位置。根據ACL放置原則,針對需求一,標準 ACL 不指定目的地址,所以其位置應該盡可能靠近目的地,所以選擇路由器R1的接口int f0/0,方向是out。針對需求二, 擴展ACL應 放置在盡可能靠近需要過濾的流量源的位置上,所以選擇路由器R0的接口f0/0,方向為in。4)假設你實現了一個訪問列表可以阻止外部發起的TCP會話進入到你的網絡中,但是你

14、又想讓內部發起的TCP會話的響應通過,那應該怎么辦?思考并在2.1.4任務的網絡拓撲結構上進行驗證。解答:在需要這樣控制的訪問控制列表規則后加上established關鍵字即可。結合2.1.4任務,可在R0上設置access-list 101 permit tcp any 55 establishedint s0/3/0ip access-group 101 in 該配置可以實現:外網只能回應內網的TCP連接,而不能發起對內網的TCP連接。加上established選項后,ACL會對外網訪問內網的TCP段中的ACK或RST位進行檢查,如果ACK或RST位被設置(使用)了, 則表示數據包是正在進

15、行的會話的一部分,那么這個數據包會被permit。也就是說,在外網向內網發起TCP連接的時候,由于ACK或RST位未設置,這時請求是不會被permit的。任務二 NAT1)在NAT配置與應用的第5)步PAT配置完成后,使用PC0 PING 能通嗎,思考原因并查看NAT映射關系。仿照R0的配置,設置內網2的路由器R1的NAT功能,配置完成后,PC0 PING PC5能通嗎,為什么?PC5 PING PC0能通嗎,思考原因并查看NAT映射關系。解答:不能通。原因是模擬ISP的路由器設置了access-list 1access-list 1 deny 55access-list 1 deny 55a

16、ccess-list 1 deny 55access-list 1 permit anyPC0 PING ,經過ISP路由器的echo包源地址是(NAT映射過)有影響,但返回的時候echo reply包源地址是(無NAT),符合access-list 1的攔截條件deny 55,被攔截。設置內網2的路由器R1的NAT功能,配置完成后,PC0 PING PC5也不能通。因為echo reply目標地址是,到達路由器R0后,由于NAT屏蔽了內網細節,所以被丟棄。PC5 PING PC0也不能通,原因同上。2)通過2.2.3任務實施,思考NAT是如何實現內網保護的。在本任務完成的基礎上,思考如何實現

17、內網1和內網2的互通。解答:在本任務實施完成后,內網1和內網2的PC不能互通,原因是NAT屏蔽了內網細節,通過NAT轉換后的公有地址無法達到對應的私有地址。在本任務基礎上,如果要實現內網1和內網2的互通,可以通過配置GRE VPN或者IPSec VPN來實現。3) 在NAT配置與應用的第3)步中,最初使用了R0(config)#ip nat inside source static 進行靜態NAT映射,此處直接使用接口地址作為PC0映射的公網地址會不會出現問題?如果多臺主機都靜態映射到可以嗎?請完成測試,并思考原因。如果接口地址是動態分配的,需求又要求使用接口地址作為NAT公網地址,請思考能否

18、實現。解答:使用靜態NAT映射,不會出現問題。多臺主機也可以,測試中可以發現多臺主機經過NAT進行了端口映射。如果接口地址是動態分配的,需求又要求使用接口地址作為NAT公網地址,也可以實現,只要采用基于接口的PAT方式即可,參考命令如下:ip nat inside source list 1 interface Serial0/3/0 overload4)在任務實施的測試中使用show ip nat statistics查看nat統計信息,并思考顯示信息的各項含義。解答:以基于IP的PAT為例,配置完成用PC0 ping PC3,在本任務的路由器R0上使用該命令查看到的信息有:(/后面為注釋)

19、R0#show ip nat statistics Total translations: 4 (0 static, 4 dynamic, 4 extended)/處于活動轉換的條目公有4條,0條靜態,4條動態,4條擴展Outside Interfaces: Serial0/3/0/nat 外部接口Inside Interfaces: FastEthernet0/0/nat 內部接口Hits: 0 Misses: 7/共計轉換0個數據包,其中7個失敗Expired translations: 0/nat 超時的轉換條目為0Dynamic mappings:/動態映射情況- Inside Sou

20、rce/Inside Source轉換access-list 1 pool wxitpool refCount 4 /超時的轉換條目是4條pool wxitpool: netmask 52/地址池名字和掩碼start end /起始地址和終止地址type generic, total addresses 1 , allocated 1 (100%), misses 0/地址池的使用情況,總計1個地址可以完成轉換,已經使用1個地址進行轉換,轉換率100%,沒有失敗轉換5)NAPT不僅轉換IP包中的IP地址,還對IP包中TCP和UDP的Port進行轉換。這使得多臺私網主機可用1個公共IP就可以同時

21、和公共網進行通信。在任務測試中,多次使用了ping命令,但其基于的ICMP協議并沒有Port,NAPT又是如何進行處理的?解答:ICMP會使用SEQ NUMBER來代替Port進行映射,下圖右下角處就是SEQ NUMBER字段,當前取值為5。下面是當前echo包經nat轉換后的映射信息:R0#sh ip nat translations Pro Inside global Inside local Outside local Outside globalicmp :5 :5 :5 :5可見IP地址后跟的就是SEQ NUMBER。任務三 服務質量(QoS)1)在 REF _Ref43370802

22、9 h * MERGEFORMAT 例2-22創建策略這一步驟中,修改R1(config-pmap-c)#set precedence 3,分別使用set ip dscp af31和set ip dscp cs3代替set precedence 3,在新的策略基礎上再重新進行任務實施,觀察實驗結果并說明原因。解答:set ip dscp af31后TOS 字段8位內容為01101000。使用permit ip any any precedence 3檢測,因為precedence 3對應的TOS字段取值為01100000,不能匹配,數據無法通過。使用permit ip any any dscp

23、 af31檢測,因為dscp af31對應的TOS字段取值為01101000,能匹配,數據通過。使用permit ip any any dscp cs3檢測,因為dscp cs3對應的TOS字段取值為01100000,不能匹配,數據無法通過。set ip dscp cs3后TOS 字段8位內容為01100000。使用permit ip any any precedence 3檢測,因為precedence 3對應的TOS字段取值為01100000,能匹配,數據通過。使用permit ip any any dscp af31檢測,因為dscp af31對應的TOS字段取值為01101000,不能

24、匹配,數據無法通過。使用permit ip any any dscp cs3檢測,因為dscp cs3對應的TOS字段取值為01100000,能匹配,數據通過。2)將本任務實施中對QoS標記數據的放行(permit)改成拒絕(deny)通過,思考如何使用三種不同的方式使路由器R2對其流經的數據進行QoS標簽匹配。解答:根據任務,依舊對set precedence 3進行測試對方式一中的主要命令修改如下:R2(config)#ip access-list extended acl-dscp #創建基于名稱的擴展ACLR2(config-ext-nacl)#deny ip any any prec

25、edence 3R2(config-ext-nacl)#permit ospf any anyR2 (config)#interface Serial0/3/1 #進入接口,應用ACLR2(config-if)#ip access-group acl-dscp in數據將被攔截。對方式二中的主要命令修改如下:R2(config)#ip access-list extended acl-dscp #創建基于名稱的擴展ACLR2(config-ext-nacl)#deny ip any any dscp af31R2(config-ext-nacl)#permit ospf any anyR2 (

26、config)#interface Serial0/3/1 #進入接口,應用ACLR2(config-if)#ip access-group acl-dscp in數據將被放行。對方式三中的主要命令修改如下:R2(config)#ip access-list extended acl-dscp #創建基于名稱的擴展ACLR2(config-ext-nacl)#deny ip any any dscp cs3R2(config-ext-nacl)#permit ospf any anyR2 (config)#interface Serial0/3/1 #進入接口,應用ACLR2(config-i

27、f)#ip access-group acl-dscp in數據將被攔截。任務四 GRE VPN1)GRE VPN 配置時需要對數據進行分流嗎?思考在上例中對哪些數據進行了GRE VPN的封裝,具體又是如何實現的?解答:需要進行數據分流。上例中內網1去往內網2的數據流和內網1的數據流進行了區分。實現的方法是通過兩條靜態路由。一條是默認路由,另一條是去往對端內網的靜態路由,其下一條地址為對端tunnel口地址。R0(config)#ip route Serial0/3/0 R0(config)#ip route 2)GRE VPN可以跨設備形成ospf鄰居嗎?為什么?請查閱相關資料,說明原因。解

28、答:GRE VPN可以跨設備形成ospf鄰居。因為tunnel口有獨立的網段可以發布ospf路由。以本章任務為例,只需要在R0上配置:router ospf 1log-adjacency-changesnetwork 55 area 0network area 0在R1上配置:router ospf 1log-adjacency-changesnetwork 55 area 0network area 0任務五 Site to Site IPSec VPN配置思考在上述任務中IPSec VPN與NAT業務并存后數據是如何封裝及傳輸的。解答:上述任務對IPSec VPN與NAT業務并存后的數據進

29、行了分流。分流的方法是通過下面的ACL:access-list 110 permit ip 55 55access-list 100 deny ip 55 55access-list 100 permit ip 55 anyaccess-list 110分出的是走IPSec VPN的數據,這些數據會進行IPSec封裝,走IPSec隧道傳輸。access-list 100分出的是不走IPSec VPN的數據,這些數據會進行NAT轉換,走S0/3/0對應物理鏈路傳輸。2)使用show crypto isakmp policy,show crypto ipsec transform-set,show

30、 crypto isakmp sa查看VPN建立情況,思考顯示信息的含義。解答:以上述任務配置完成后的R0為例,含義用注釋說明。R0#show crypto isakmp policy Global IKE policy/通用IKE策略Protection suite of priority 100 /保護套件優先級為100encryption algorithm: DES - Data Encryption Standard (56 bit keys). /DES加密hash algorithm: Message Digest 5/hash算法為MD5authentication metho

31、d: Pre-Shared Key/預共享秘鑰驗證Diffie-Hellman group: #1 (768 bit) /DH組長度768位lifetime: 86400 seconds, no volume limit/有效期86400,無卷限制Default protection suite/默認保護套件encryption algorithm: DES - Data Encryption Standard (56 bit keys). / DES加密hash algorithm: Secure Hash Standard/ hash算法為SHAauthentication method:

32、 Rivest-Shamir-Adleman Signature/RSA驗證Diffie-Hellman group: #1 (768 bit) / DH組長度768位lifetime: 86400 seconds, no volume limit/有效期86400,無卷限制R0#show crypto ipsec transform-set Transform set wxitvpn: esp-des esp-sha-hmac /交換集名稱wxitvpn, 封裝和加密方式為esp-des,封裝和驗證方式為esp-sha-hmacwill negotiate = Tunnel, ,/工作模式為

33、隧道模式R0#show crypto isakmp saIPv4 Crypto ISAKMP SA /IPv4 秘密ISAKMP SAdst src state conn-id slot status QM_IDLE 1038 0 ACTIVE/目標地址,源地址,狀態QM_IDLE,conn-id為1038,slot為0,status為status。IPv6 Crypto ISAKMP SA/IPv6 秘密ISAKMP SA,當前不存在3)對于靜態NAT,數據包就不是通過ACL來匹配,而是通過NAT里面的配置的地址來匹配,此時該如何解決IPSec與NAT的沖突問題?解答:對于靜態NAT,數據包

34、就不是通過ACL來匹配,而是通過NAT里面的配置的地址來匹配,所以就需要通過其它模塊來避免NAT處理。NAT要生效,除了數據要匹配外,還需在在接口上定義輸入輸出接口,兩個條件只要有一個不符合,那么NAT就不會處理。解決辦法可以用策略路由把數據送到路由器環回口來避免地址轉換。 配置舉例: interface loopback0/創建一個環回口 ip address exitip access-list extended 1001 permit ip 55 55 /匹配IPSEC的數據流exitroute-map dial permit 10/配置策略路由,使IPSEC數據流從環回口發出 matc

35、h ip address 1001 set interface loopback 0 exit任務六 Remote Access IPSec VPN配置1)在上述任務實施中觀察反向路由,并與開始時的情況進行對比,找出不同,并思考原因。解答:PC1與PC3成功連通后在VPN Server上查看路由表,通過VPN撥號前后的路由表比較可以發現VPN撥號成功后產生的反向路由。如下圖所示,VPN撥號成功后多了一條反向路由(S 1/0 via ),該路由以靜態路由的形式注入到了路由表中。(a)VPN撥號成功前的路由表(b)VPN撥號成功后的路由表2)上述任務配置成功后,PC1 tracert PC3有幾跳

36、,原因是什么?解答:如下圖所示:只有兩跳。原因是PC1發出的數據包直接通過建立的IPSec隧道達到路由器R2,不在經過R1跳轉到R2了。3)觀察PC1在開始VPN撥號直到撥號成功后這段時間內的所有數據包格式,思考isakmp是如何進行工作的。解答:通過仿真功能單步抓包即可觀察所有數據包的格式。在Remote Access IPSec VPN工作時,isakmp一共要經歷三個階段,分別是IKE第1階段,IKE第1.5階段和KE第2階段。任務七 GRE Over IPSec VPN配置在上面的任務實施中對從內網-內網的VPN數據和從內網-外網的NAT數據是如何進行區分的?還有沒有其它分流的方法?

37、解答:在上面的任務實施中對從內網-內網的VPN數據和從內網-外網的NAT數據的區分是通過配置靜態路由進行的。需要走GRE Over IPSec VPN的數據通過靜態路由指定下一條是對端gre tunnel口地址。例如:上個任務中設置了靜態路由:R0(config)#ip route 其他非VPN數據走默認路由。例如上個任務中設置了R0(config)#ip route Serial0/3/0有,還可以通過PBR(基于策略的路由)實現分流。思考access-list 110 permit gre 的作用。解答:access-list 110 permit gre 的作用是設置感興趣流。命令中的g

38、re代表感興趣流控制的是gre流,感興趣流對應的網段是從 到 。在ipsec配置中該ACL被應用,例如R0(config-crypto-map)#match address 110,凡是匹配該ACL的gre數據流將會被ipsec加密。在網絡結構拓撲不變的條件下,思科如何使用GRE Over IPSec實現內網-內網的加密通信。解答:首先在R0、R1上配置GRE VPN:建立tunnel口,配置tunnel口地址,為tunnel指定源、目的IP地址。接著在R0、R1上分別配置IPSec VPN:建立IKE策略,建立交換集,設置感興趣流為GRE流,建立crypto map,應用crypto map

39、。最后配置靜態路由區分VPN數據。項目三 TCP通信及安全編程習題及解答任務一 TCP網絡通信界面構建1)、為什么獲得的主機名、IP地址信息都是集合?解答:網絡設備一般主機名只有一個,但是可以有多個接口、多個IP地址信息,或者一個接口配置多個IP地址信息,所以在System.Net空間中Dns類獲取IP地址信息的方法返回都是集合類型。分析:Dns類下獲取主機的方法有兩: Dns.GetHostName()、Dns.GetHostEntry(string hostname),獲取IP地址集合的方法是Dns. GetHostAddresses (string hostname)。2)、Dns類的G

40、etHostAddresses( )和GetHostEntry( )方法有何區別?解答:GetHostAddresses( )參數為string hostname,返回類型為IPAddress;GetHostEntry( )參數為string hostname,返回類型為IPHostEntry,也可從IPHostEntry類中通過屬性AddressList獲取主機IP地址信息集合,現已不建議使用IPHostEntry類及相關方法、屬性。分析:在.NetFrameWork4.0中微軟官方已建議不適用IPHostEntry類及相關方法,建議使用Dns. GetHostAddresses (stri

41、ng hostname)來獲取IP地址信息集合。3)、集合需要什么數據結構來存儲?解答:集合是基本數據類型的聚類,存儲時常用的數據結構有數組、列表、字典等類型,C#中分別對應、List、Dictionary,其中T為泛型表示基本數據類型或自定義數據類型,Dictionary可用于存儲鍵值對。分析:C#中數組和List類似,用于存儲某種單一數據類型的集合,數組操作沒有List操作簡單,但是查找速度數組要快一些;Dictionary可用于存儲較復雜的鍵值對數據。4)、獲取主機IPV4地址信息的功能有幾種方案實現,采用一個單獨的類來實現該功能好不好?解答:獲取主機IPV4地址可在需要處編碼實現,也可

42、編寫一個單獨的類、方法實現,在需求的地方調用即可,把常用的功能單獨寫成類、方法可以提高代碼的復用度。分析:C#是一門面向對象的語言,代碼的高復用是重要特征之一,所以在編碼編寫過程建議預先規范,把常用的功能封裝成類。任務二 TCP網絡通信服務器端實現1)、TCP服務器端是如何接收和收發數據的?解答:TCP通信即套接字通信,通信雙方通過套接字通道(IP:端口號)進行數據傳輸,TCP服務器端通過監聽套接字有無連接請求,若有連接請求建立套接字通道,之后通過套接字通道發送數據并監聽套接字通道有無數據,若有數據讀取并處理。分析:C#實現時涉及TcpListener、TcpClient、NetworkStr

43、eam類,TcpListener用于實現對指定套接字的監聽,發現連接請求并建立套接字通道,TcpClient用于描述套接字通道; NetworkStream用于獲取套接字通道;數據流,進行數據收發。2)、TCP會話階段傳輸的數據最終形態是二進制還是字符串,若應用中須傳輸字符串,對字符編碼有何要求?解答:計算機通信階段統一傳輸二進制形式,若需傳輸字符串,需要在發送端對其進行字符編碼轉換為二進制形態,之后在接收端采用相應的字符編碼對其進行解碼,要求收發兩段編碼保持一致。分析:任務中收發兩端統一采用UTF-8編碼。3)、TCP服務器端返回給客戶端的“Welcome!”信息,其UTF-8編碼的十六進制

44、值是什么?解答:對應的十六進制是:77 65 6C 63 6F 6D 65 21,每個字符對應一個十六進制,采用的是ASCII編碼。分析:UTF-8編碼兼容ASCII編碼,字符、數字、標點符號在UTF-8中都采用ASCII編碼。4)、Invoke()方法的調用者是哪個類,可以使用this.Invoke()替代ui_text_msg.Invoke()嗎?請說明原因。解答:可以,調用者都是組件對象,在任務中this表示的當前窗體類Form,Form也屬于組件類,所以可以調用invoke方法。分析:This.invoke和ui_text_msg.invoke都可調用委托。任務三 TCP網絡通信客戶端

45、實現簡述TCP客戶端的通信流程,如何在客戶端發起半連接操作?解答:TCP客戶端的通信流程:發起對服務器端的連接,收到服務器端響應后建立連接;建立好連接后使用該TCP通道進行數據的收發,發送時服務器端也將進行響應;半連接可利用請求-響應模式,當接收到服務器端數據時不對其進行響應使得服務器端消耗資源等待,從而使得服務器端處于掛起狀態。分析:。為何說基于IPV4的TCP通信不安全,請舉例說明?解答:IPV4通信采用明文傳輸,數據在傳輸過程一旦被截獲容易造成信息泄露,有潛在的信息安全危害,telnet、http、ftp都基于IPV4,都存在信息安全問題。分析:加密技術可以IPV4的信息安全問題,IPV

46、6是較好的替代方案。若把服務器端的響應信息“welcome!”更改為“你好”,Sniffer軟件捕獲的是什么數據,是顯示出“你好”這兩個漢字信息碼,如果不能,為什么?解答:Sniffer能捕獲到數據:0 xe4 0 xbd 0 xa0 0 xe5 0 xa5 0 xbd,共6個字節,但是在sniffer中顯示“你好”字符,因為sniffer默認字符編碼為ASCII碼。分析:Sniffer可識別ASCII碼,無法識別UTF-8編碼。任務四 TCP網絡通信數據加密與解密1)、為什么需要在TCP通信中采用Base64字符?解答:TCP通信基于計算機網絡,而計算機網絡由很多網絡設備和服務器主機構成,考

47、慮到部分主機性能低下,只能支持ASCII碼,所以為了兼容這些低性能的主機,在傳輸過程統一采用base64對信息進行編碼保證每個字節的高位都為0,從而兼容ASCII碼,確保信息不丟失。分析:Base64是一種編碼規范,是網絡傳輸中一種基本編碼,C#自帶有相應的轉換方法。2)、服務器端響應的“welcome!”信息為何在telnet軟件顯示為“/3Xu+LbD9DYJQufF0OQxXw=”,為什么字符會以兩個“=”結尾?解答: “welcome!”進行128bits的Rijndael加密,輸出為長度16的字節數組;之后進行Base64 字符轉換,轉換的方法是對16個字節按每3個字節作為一個劃分,

48、余下用符號“=”不足三個字節,總共有6個劃分,第6等分不足三位用兩個=符號補齊,之后再把每3個字節4等分,高兩位用0補齊,轉換為4個字節,總共為24(6X4)個輸出字符。分析:Base64是一種編碼規范,是網絡傳輸中一種基本編碼,C#自帶有相應的轉換方法,Convert類下FromBase64String、ToBase64String可實現字符串與字節數組間的相互轉換。3)、對TCP通信數據采用Rijndael加密后,就能確保TCP通信安全了嗎?解答: 不能,TCP通信分為三個階段:建立、會話、終止,TCP通信數據加密只能保證會話階段的數據被破解、破譯的成本、難度增加并不代表100%安全,且在

49、任務沒有實現對客戶端的接入認證,服務器端不能有效的對接入用戶進行身份識別。分析:SSL、數字證書是一種TCP通信安全的完整方案。任務五 基于SSL/TLS的異步TCP通信安全實現1)、.NetFrameWork 4.0中的SslStream默認情況下采用的加密算法、驗證算法、密鑰交換算法分別是什么?解答: 加密算法是AES256、驗證算法sha1、密鑰交換算法是DH(44550)。分析:可在開發設置SSLStream的相關屬性從而更改相應算法。2)、結合任務簡述對“SSL建立在TCP基礎之上”這句話的理解?解答: 任務開發完畢后,當客戶端連接服務器端先顯示TCP連接建立,之后數字證書驗證通過才

50、能建立SSL通道,所以先建立TCP再建立SSL通道;在開發中,基本業務也是先建立TCP通道,之后在此基礎之上進行SSL通道建立。分析:數字證書的傳輸、驗證必須依托基礎網絡,所以TCP是基礎。3)、X.509證書的存儲位置、區域分別有哪些,請使用makecert工具創建一個測試證書,該證書存儲位置是本地計算機,區域是My,自簽署證書,私鑰可導出,證書主題為MyServer?解答:存儲區域有:個人(My)、中間證書頒發機構(CertificateAuthority)、第三方證書頒發機構(AuthRoot)、受信任的根證書頒發機構(Root)、企業信任(My)、企業信任(TrustedPublish

51、er)等,默認是個人(My)區域。創建證書的命令:makecert -r -pe -n cn=MyServer -ss My sky exchange分析:任務使用的是由vs2012頒發的自簽署測試用數字證書,證書只能在頒發主機上使用,所以任務中服務器端、客戶端都運行在同一個主機上。項目二 Web站點安全監測與防范習題及解答任務一 Sql注入檢測與防范1)、在WEB交互過程中,用戶通過瀏覽器輸入的數據是如何提交給服務器端的?解答:WEB交互中,用戶通過http協議可以以下3種形式提交數據:一是web表單形式;二是通過GET方式附加在請求的URL后面;三是通過POST方式,把數據存儲在一個指定區域進行提交。分析:GET方式附加在請求的URL后面提交數據,數據暴露給用戶,不安全。2)、哪些系統中有可能存在SQL注入威脅,請舉例說明?解答:涉及數據存儲并使用數據庫軟件作為后臺數據存儲、管理的系統、平臺都可能存在SQL注入威脅,如各類信息管理系統:教務管理系統、學生成績查詢系統、圖書館管理系統等。分析:是否存在SQL注入威脅可通過構建注入語句對各系統、平臺進行測試。3)、簡述SQL注入產生的原因?解答:產生SQL注入的根本原因是數

溫馨提示

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

評論

0/150

提交評論