計算機網絡課程設計之《網絡攻擊技術的分類與防范》_第1頁
已閱讀1頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  網絡攻擊技術的分類與防范</p><p>  學生姓名:XXX 指導老師:XXX</p><p>  摘 要 本課程設計介紹了當前網絡攻擊技術,通過分析攻擊手段的特點和對各種網絡攻擊行為所共有的關鍵特征進行分析、提取,并根據(jù)其不同特點進行分類,在對網絡攻擊進行分析和識別的基礎上,提出了相應的解決方案和防范方法,制定有針對性的防御措施,指出應該明確安全對象,設置

2、強有力的安全防護體系;并要以預防為主,將重要的數(shù)據(jù)進行備份并時刻監(jiān)視系統(tǒng)的運行狀況。</p><p>  關鍵字 網絡攻擊;防范技術; 信息安全</p><p><b>  引 言</b></p><p>  互聯(lián)網在為人們工作帶來便利的同時, 伴隨著的是日趨嚴重的網絡安全問題。美國互聯(lián)網調查機構日前發(fā)布研究報告稱,中國現(xiàn)有網民一億三千七

3、百萬,在世界上僅次于美國。近年,中國的網民增長速度超過美國,預計未來幾年內,網民的絕對數(shù)量也將趕超美國。隨著互聯(lián)網的飛速發(fā)展,特別是電子商務、電子政務、金融電子化進程的不斷深入,人們對信息的依賴程度也越來越強,信息的安全題日益突出,根據(jù)權威機構調查互聯(lián)網網站存在以下安全問題:網站被篡改、主機被植入木馬、網絡仿冒事件、網頁惡意代碼事件、僵尸網絡。其中,網絡仿冒事件危害力極大。在美國,2008 年因域名仿冒等網絡釣魚造成的損失大約是40 億

4、美元,并以25%的速度遞增。2008 年12 月份中國互聯(lián)網調查報告表明,只有27.6%的網民認為在網上進行交易是安全的。因此,對各種網絡攻擊行為所共有的關鍵特征進行分析、提取,并根據(jù)其不同特點進行分類、并提出相對應的防范方法對于人們認識、防范網絡攻擊具有重要意義。</p><p>  1 攻擊的目標與分類</p><p><b>  1.1 攻擊者</b></

5、p><p>  攻擊者包括操作員、程序員、數(shù)據(jù)錄入員、內部用戶和外部用戶,主要分為以下六種:(1) 黑客:攻擊的動機與目的是為了表現(xiàn)自己或獲取訪問權限。(2) 間諜:攻擊的動機與目的是獲取情報信息。(3) 恐怖主義者:攻擊的動機與目的是獲取恐怖主義集團的利益。(4) 公司職員:攻擊的動機與目的是獲取經濟利益。(5) 職業(yè)犯罪分子:攻擊的動機與目的是獲取個人利益。(6) 破壞者:攻擊的動機與目的是破壞目標網絡和系統(tǒng)。&

6、lt;/p><p><b>  1.2 攻擊目標</b></p><p>  攻擊者為了達到物理破壞、信息破壞、數(shù)據(jù)欺騙、竊取服務、瀏覽和竊取信息等目的,一定要訪問目標網絡和系統(tǒng),包括合法訪問和非法訪問。一般的,攻擊過程主要依賴于設計弱點、實現(xiàn)弱點和配置弱點,非法訪問和使用目標網絡的資源,即未授權訪問或未授權使用目標系統(tǒng)的資源。(1) 破壞信息:刪除或修改系統(tǒng)中存儲的信息

7、或者網絡中傳送的信息。(2) 竊取信息:竊取或公布敏感信息。</p><p>  (3) 竊取服務:未授權使用計算機或網絡服務。(4) 拒絕服務:干擾系統(tǒng)和網絡的正常服務,降低系統(tǒng)和網絡的性能,甚至使系統(tǒng)和網絡崩潰。</p><p><b>  1.3 攻擊分類</b></p><p>  根據(jù)主動攻擊與被動攻擊的分類,將網絡攻擊分為以下四類。

8、(1) 中斷:中斷發(fā)送方與接收方之間的通信。(2) 攔截:作為第三者,截獲或者偵聽通信內容。(3) 篡改:攻擊者截斷通信,將截獲的數(shù)據(jù)更改之后再交付給接收者,接收者認為篡改后的信息就是發(fā)送者的原始信息。(4) 偽造:攻擊者偽造信息,將其以原始發(fā)送者的身份發(fā)送給接收者。</p><p><b>  1.4 攻擊工具</b></p><p>  攻擊者通常使用一系列包括攻

9、擊策略和方法的攻擊工具,對目標網絡實施攻擊,這些工具如下:(1) 用戶命令:攻擊者在命令行狀態(tài)下或者以圖形用戶接口方式輸入攻擊命令。(2) 腳本或程序:利用腳本或者程序挖掘弱點。(3) 自治主體:攻擊者初始化一個程序或者程序片段,獨立執(zhí)行弱點挖掘和攻擊。(4) 工具包:使用攻擊工具軟件包,軟件包中可能包括進行弱點挖掘、攻擊和破壞的多個工具。(5) 分布式工具:攻擊者分發(fā)攻擊工具到多臺主機,通過協(xié)作方式執(zhí)行攻擊。</p>&

10、lt;p><b>  2 攻擊的基本過程</b></p><p>  網絡攻擊持續(xù)的時間有長有短,方法和手段多種多樣,達到的效果各異。經過分析發(fā)現(xiàn),所有成功的攻擊過程都大致相似。所以,可以給網絡攻擊定義一個通用的模型。該模型將攻擊過程歸納為若干階段,每個階段使用不同的方法和工具,實現(xiàn)不同的目標。各階段前后呼應,共同實現(xiàn)最終的攻擊目標。網絡攻擊模型將攻擊過程劃分為攻擊身份和位置隱藏、目標

11、系統(tǒng)信息收集、弱點信息挖掘分析、目標使用權限獲取、攻擊行為隱蔽、攻擊實施、開辟后門、攻擊痕跡清除等階段,如圖1 所示。</p><p>  圖2.1 網絡攻擊的基本過程</p><p>  3 常見網絡攻擊技術</p><p>  3.1 針對網絡協(xié)議展開的攻擊</p><p>  網絡協(xié)議在設計之初并沒有考慮到協(xié)議的安全性能,但隨著互聯(lián)

12、網的發(fā)展,以及各式各樣針對協(xié)議的攻擊來看,發(fā)現(xiàn)一些攻擊正是利用了協(xié)議的特點。如以下幾種攻擊方式:</p><p>  TCP SYN 拒絕服務攻擊:一般情況下,一個TCP連接的建立需要經過三次握手的過程,利用這個過程,一些惡意的攻擊者可以進行所謂的TCP SYN 拒絕服務攻擊:首先,攻擊者向目標計算機發(fā)送一個TCP SYN報文;然后,目標計算機收到這個報文后,建立TCP 連接控制結構(TCB),并回應一個ACK,

13、等待發(fā)起者的回應;而發(fā)起者則不向目標計算機回應ACK 報文,這樣導致目標計算機一致處于等待狀態(tài)。因此,目標計算機如果接收到大量的TCP SYN 報文,而沒有收到發(fā)起者的第三次ACK 回應,會一直等待,處于這樣尷尬狀態(tài)的半連接如果很多,則會把目標計算機的資源(TCB 控制結構,TCB,一般情況下是有限的)耗盡,而不能響應正常的TCP 連接請求。</p><p>  ICMP 洪水攻擊:正常情況下,為了對網絡進行診斷

14、,一些診斷程序比如PING 等,會發(fā)出ICMP 響應請求報文(ICMP ECHO),接收計算機接收到ICMP ECHO后,會回應一個ICMP ECHO Reply 報文。而這個過程是需要CPU 處理的,有的情況下可能消耗掉大量的資源。這樣如果攻擊者向目標計算機發(fā)送大量的ICMP ECHO 報文(產生ICMP 洪水),則目標計算機會忙于處理這些ECHO 報文,而無法繼續(xù)處理其它的網絡數(shù)據(jù)報文,這也是一種拒絕服務攻擊(DOS)。</p

15、><p>  UDP 洪水攻擊:原理與ICMP 洪水類似,攻擊者通過發(fā)送大量的UDP 報文給目標計算機,導致目標計算機忙于處理這些UDP 報文而無法繼續(xù)處理正常的報文。</p><p>  淚滴攻擊:對于一些大的IP 包,需要對其進行分片傳送,這是為了迎合鏈路層的MTU(最大傳輸單元)的要求。比如,一個4500 字節(jié)的IP 包,在MTU 為1500的鏈路上傳輸?shù)臅r候,就需要分成三個IP 包。在

16、IP 報頭中有一個偏移字段和一個分片標志(MF),如果MF標志設置為1,則表面這個IP 包是一個大IP 包的片斷,其中偏移字段指出了這個片斷在整個IP 包中的位置。例如,對一個4500 字節(jié)的IP 包進行分片(MTU 為1500), 則三個片斷中偏移字段的值依次為:0,1500,3000。這樣接收端就可以根據(jù)這些信息成功的組裝該IP 包。如果一個攻擊者打破這種正常情況,把偏移字段設置成不正確的值,即可能出現(xiàn)重合或斷開</p>

17、<p>  的情況,就可能導致目標操作系統(tǒng)崩潰。比如,把上述偏移設置為0,1300,3000。這就是所謂的淚滴攻擊。</p><p>  3.2 針對系統(tǒng)漏洞展開攻擊</p><p>  系統(tǒng)漏洞是指應用軟件或操作系統(tǒng)軟件在邏輯設計上的缺陷或在編寫時產生的錯誤,這個缺陷或錯誤可以被不法者或者電腦黑客利用,通過植入木馬、病毒等方式來攻擊或控制整個電腦,從而竊取用戶電腦中的重要

18、資料和信息,甚至破壞系統(tǒng)。如Windows XP 默認啟動的UPNP 服務就存在嚴重安全漏洞。UPNP(UniversalPlug and Play) 體系面向無線設備、PC 機和智能應用,提供普遍的對等網絡連接,在家用信息設備、辦公用網絡設備間提供TCP/IP 連接和Web 訪問功能,該服務可用于檢測和集成UPNP 硬件。UPNP 協(xié)議存在的安全漏洞,使攻擊者可非法獲取任何Windows XP的系統(tǒng)級訪問,從而進行攻擊,甚至可通過控制

19、多臺XP 機器發(fā)起分布式的攻擊。</p><p>  其次,服務拒絕漏洞:Windows XP 支持點對點的協(xié)議(PPTP),是作為遠程訪問服務實現(xiàn)的虛擬專用網技術。在用于控制建立、維護和拆開PPTP 連接的代碼段中存在未經檢查的緩存,導致Windows XP 的實現(xiàn)中存在漏洞。通過向一臺存在該漏洞的服務器發(fā)送不正確的PPTP 控制數(shù)據(jù),攻擊者可損壞核心內存并導致系統(tǒng)失效,中斷所有系統(tǒng)中正在運行的進程。該漏洞可攻

20、擊任何一臺提供PPTP 服務的服務器,對于PPTP 客戶端的工作站,攻擊者只需激活PPTP 會話即可進行攻擊。相對安全的Linux 系統(tǒng)也存在著漏洞如:LinuxUtil-Linux Login Pam(權限提升漏洞)util-linux 軟件包中提供了很多標準UNIX 工具,例如login。它存在一個問題可允許本地用戶提升權限。如果某些用戶的login訪問受到pam_limits 控制的話,就可能導致一些不可預料的結果:登錄的用戶可能

21、獲取控制臺或者系統(tǒng)用戶的權限。</p><p>  3.3 其它攻擊方式</p><p>  WWW 的欺騙技術:在網上用戶可以利用IE 等瀏覽器進行各種各樣的WEB 站點的訪問,如閱讀新聞、咨詢產品價格、訂閱報紙、電子商務等。然而一些用戶可能不會想到有這些問題存在:正在訪問的網頁已經被黑客篡改過,網頁上的信息是虛假的!例如黑客將用戶要瀏覽的網頁的URL 改寫為指向黑客自己的服務器,當用

22、戶瀏覽目標網頁的時候,實際上是向黑客服務器發(fā)出請求,那么黑客就可以獲得一些如帳號、密碼等信息。</p><p>  電子郵件攻擊:電子郵件攻擊主要表現(xiàn)為兩種方式。一是電子郵件轟炸和電子郵件“滾雪球”,也就是通常所說的郵件炸彈,是指用偽造的IP 地址和電子郵件地址向同一信箱發(fā)送數(shù)以千計、萬計甚至無窮多次的內容相同的垃圾郵件,致使受害人郵箱被“炸”,嚴重者還會給電子郵件服務器操作系統(tǒng)帶來危險,甚至癱瘓;二是電子郵件欺

23、騙,攻擊者佯稱自己為系統(tǒng)管理員(郵件地址和系統(tǒng)管理員貌似相同),這類欺騙只要用戶提高警惕,一般危害性不是太大。</p><p>  放置特洛伊木馬程序:特洛伊木馬程序可以直接侵入用戶的電腦并進行破壞,它常被偽裝成工具程序或者游戲等誘使用戶打開帶有特洛伊木馬程序的郵件附件或從網上直接下載,一旦用戶打開了這些郵件的附件或者執(zhí)行了這些程序之后,它們就會在自己的計算機系統(tǒng)中隱藏一個可以在Windows 啟動時悄悄執(zhí)行的程

24、序。當您連接到因特網上時,這個程序就會通知黑客,來報告您的IP 地址以及預先設定的端口。黑客在收到這些信息后,再利用這個潛伏在其中的程序,就可以任意地修改您的計算機的參數(shù)設定、復制文件、窺視你整個硬盤中的內容等,從而達到控制計算機的目的。</p><p>  4 常見網絡攻擊及防范技術</p><p>  網絡攻擊技術多種多樣,各種攻擊工具都使用了一種或者綜合使用多種攻擊技術。下面簡單介紹

25、常見的網絡攻擊技術及其防范。</p><p><b>  4.1 網絡欺騙</b></p><p>  網絡欺騙(Spoofing) 是指攻擊者通過偽造自己在網絡上的身份,得到目標主機或者網絡的訪問權限。在T C P / I P 協(xié)議中,數(shù)據(jù)包的一些域具有特定的含義。例如,I P 包的哪個域表示數(shù)據(jù)的來源、哪個域表示目標,郵件的哪個域表示郵件地址等,都有固定的結構。通

26、過底層網絡編程技術,可以方便地偽造任意內容的網絡數(shù)據(jù)包,因此網絡上的主機都面臨著被欺騙的威脅。在實際攻擊過程中,網絡欺騙通常作為一種進攻手段,用于獲得目標主機的信任,然后再利用這種信任關系對其實施攻擊。常見的網絡欺騙技術有IP 欺騙、電子郵件欺騙、Web 欺騙和ARP 欺騙。</p><p> ?。?)I P 欺騙是指使用虛假的I P 地址來達到欺騙的目的。</p><p>  改變I P

27、 地址。這是攻擊者首選的欺騙方式之一,攻擊者修改數(shù)據(jù)包的源I P 地址,偽裝成被假冒者機器的I P 地址,如圖4.1 所示。攻擊者改變數(shù)據(jù)包源地址的主要目的是隱藏攻擊的來源,一方面,即使攻擊行為被對方發(fā)現(xiàn),也不能根據(jù)I P 地址找到攻擊的來源,從而攻擊者可以逃避制裁和懲罰。另一方面,如果目標系統(tǒng)中存在以I P 地址作為鑒別標準的授權行為,則攻擊者可以獲得被假冒方的權限。修改數(shù)據(jù)包的I P 地址需通過低層的網絡編程實現(xiàn)。</p>

28、;<p><b>  發(fā)送信息</b></p><p><b>  返回信息</b></p><p>  圖4.1 改變IP地址欺騙</p><p>  源路由欺騙。如果只改變數(shù)據(jù)包的源IP 地址,那么目標主機的應答回到被假冒的地址上,攻擊者不能得到應答。攻擊者如果想了解會話情況,必須保證自己插入到應答經過

29、的網絡通路上。攻擊者使用T C P / I P 協(xié)議提供的一種機制( 源路由選項),并把自己的I P 地址置于所指定的地址序列清單中。當目標端回應時,數(shù)據(jù)包返回到假冒的I P 地址處,但它會經過攻擊者的機器,這樣可以保證攻擊者得到應答數(shù)據(jù)包。</p><p>  針對I P 欺騙攻擊的防范措施有以下幾種。</p><p>  拋棄基于地址的信任策略,阻止這類攻擊的一種十分容易的辦法就是放棄

30、以地址為基礎的驗證。不允許r類遠程調用命令的使用;刪除.rhosts 文件;清空/etc/hosts.equiv 文件。這將迫使所有用戶使用其它遠程通信手段,如telnet、ssh、skey等等。 </p><p>  使用加密方法 在包發(fā)送到 網絡上之前,我們可以對它進行加密。雖然加密過程要求適當改變目前的網絡環(huán)境,但它將保證數(shù)據(jù)的完整性、真實性和保密性。</p><p>  可以配置路

31、由器使其能夠拒絕網絡外部與本網內具有相同IP地址的連接請求。而且,當包的IP地址不在本網內時,路由器不應該把本網主機的包發(fā)送出去。有一點要注意,路由器雖然可以封鎖試圖到達內部網絡的特定類型的包。但它們也是通過分析測試源地址來實現(xiàn)操作的。因此,它們僅能對聲稱是來自于內部網絡的外來包進行過濾,若你的網絡存在外部可信任主機,那么路由器將無法防止別人冒充這些主機進行IP欺騙。</p><p> ?。?)電子郵件欺騙,攻擊

32、者使用電子郵件進行欺騙有三個目的。第一,隱藏自己的身份。第二,通過假冒電子郵件地址使自己看起來像某個其他人。第三,社會工程的一種表現(xiàn)形式,獲取想要的信息。例如,如果攻擊者想讓用戶發(fā)給他一份敏感文件,攻擊者可以偽裝其他的郵件地址,使用戶認為這是老板或者管理員的要求,從而按要求發(fā)送信息。</p><p>  相似的電子郵件地址。假冒一個相似的郵件地址發(fā)送郵件,如I iuchang @163.com 與1iuchang

33、@163.com,因為郵件地址似乎是正確的,所以收信人很可能會回復它,這樣攻擊者就會得到想要的信息。</p><p>  針對電子郵件欺騙可以采用修改郵件客戶軟件的方法防范。當發(fā)出電子郵件時,沒有對發(fā)件人地址進行驗證或者確認,因此他能夠指定他希望出現(xiàn)在發(fā)件人中的任意地址。當用戶回信時,答復回到真實的地址,而不是回到被盜用了地址的人那里。</p><p>  (3)Web欺騙,網站通常是各種

34、目的攻擊者的主要攻擊目標,而Web欺騙是網站面臨的一種主要攻擊。網站欺騙分兩大類,一類是加密他人的網站、使用U R L重寫技術隱藏真正的網站地址,欺騙網站的瀏覽者,另一類是使用匿名代理技術瀏覽網站,欺騙網站服務的提供者,而中間人攻擊則可以達到欺騙雙方的目的。</p><p>  基本的網站欺騙,目前在互聯(lián)網上注冊一個域名沒有嚴格的審查,攻擊者可以搶先或特別設計注冊一個非常類似的有欺騙性的站點。當用戶瀏覽了這個假冒

35、地址,并與站點作了一些信息交流,如填寫了一些表單之后,站點會給出一些響應式的提示和回答,同時記錄下用戶的信息。典型的例子是假冒金融機構的網站,偷盜客戶的信用卡、銀行卡等信息。例如,中國工商銀行網站為“www.icbc.com.cn”,有人注冊了網站“www.lcbc.corn.cn ”。這種欺騙方式被專家定義為網絡陷阱程序,也稱為網絡釣魚程序(phishing),多以欺騙用戶信用卡號、銀行賬號、股票信息等獲取經濟利益為目的。</p

36、><p>  防止基本的網站欺騙的最好辦法是:使用站點服務器認證。由于服務器認證是服務器向客戶提供的一個有效證書,它能證明誰是誰,可以把證書看作服務器的一張身份證。服務器認證不容易被欺騙而且提供了較高級別的保護,確保正在連接的站點是真正屬于用戶所期待的站點。</p><p>  中間人攻擊,攻擊者找到一個位置,使進出受害方的所有流量都經過他。攻擊者通過某種方法把目標機器的域名對應的I P 更改

37、為攻擊者所控制的機器,這樣所有外界對目標機器的請求將涌向攻擊者的機器,這時攻擊者可以轉發(fā)所有的請求到目標機器,讓目標機器進行處理,再把處理結果發(fā)回到發(fā)出請求的客戶機。實際上,中間人攻擊是把攻擊者的機器設成目標機器的代理服務器,收集大量的信息。</p><p>  URL重寫是指修改( 或重寫)Web內容中的URL,比如指向與原始URL 不同位置的結果URL。在URL 重寫中,攻擊者通過改寫URL 能夠把網絡流量轉

38、到攻擊者控制的另一個站點上,因而所有信息便處于攻擊者的監(jiān)視之中。</p><p> ?。?)ARP欺騙是一種典型的中間人攻擊方法,如圖4.2 所示。正常情況下,當A 與B 需要通信時,A發(fā)送ARPR equest 詢問B 的MA C 地址,B 發(fā)送ARPReply 告訴A 自己的MAC 地址。</p><p><b>  我是B 我是A</b></p>

39、<p><b>  Haeker</b></p><p>  4.2 ARP欺騙</p><p>  ARP 欺騙是Hacker 發(fā)送偽裝的ARPReply 告訴A,計算機B 的MAC 地址是Hacker 計算機的MAC 地址。Hacker 發(fā)送偽裝的ARPReply 告訴B,計算機A 的MAC 地址是Hacker 計算機的MAC地址。這樣A 與B 之

40、間的通信都將先經過Hacker,然后由Hacker 進行轉發(fā)。于是Hacker 可以捕獲到所有A 與B 之間的數(shù)據(jù)傳輸( 如用戶名和密碼)。</p><p>  針對ARP欺騙攻擊有以下防范措施:</p><p>  ARP雙向綁定。單純依靠IP或MAC來建立信任關系是不安全的,理想的安全關系是建立在IP+MAC的基礎上。設置靜態(tài)的IP/MAC 對應表,不要讓主機動態(tài)刷新你設定好的轉換表。

41、并進行A R P雙向綁定,所謂“雙向綁定”就是在網關上綁定客戶機的I P 地址和MAC 地址,同時,在客戶機上也綁定網關的I P 地址和MAC 地址。具體實現(xiàn)方法如下:</p><p>  首先,需要在本地主機上使用命令“arps 網關IP地址網關MAC 地址”來綁定網關的IP 地址和MAC 地址;其次,要在內網交換機端口上綁定內部合法主機的MAC地址和IP地址:</p><p>  Sw

42、itch>enable // 進入交換機特權模式</p><p>  Switch#config terminal // 進入交換機全局配置模式</p><p>  Switch(config)#interface fa0/1 // 進入接口配置模式</p><p>  Switch(config-if)#switchport port-security//

43、配置端口安全功能</p><p>  Switch(config-if)#switchport port-security mac-address MAC( 主機的MAC 地址) ip-addressIP( 綁定的IP 地址) // 配置該端口的安全MAC 地址 和綁定的IP 地址。</p><p>  這樣,只有這臺主機可以通過端口1使用網絡,如果其他P C 想通過這個端口使用網絡,必須

44、對交換機的此項設置進行修改。雙向綁定方法適合于機器數(shù)量較少且不經常更換的地方,如:網吧、學校機房等。而對于大型局域網則不適用,因為需要完成大量的配置任務,工作量太大,不容易實施。</p><p>  建立DHCP 服務器,為了在網絡中方便對客戶機的I P 地址進行有效管理,而不需要一個一個手動指定I P 地址,通常用DHCP(Dynamic Host Con-figure Protocol,動態(tài)主機配置協(xié)議) 讓

45、客戶機自動獲取動態(tài)IP地址。因為ARP欺騙攻擊一般總是先攻擊網關,將DHCP服務器建立在網關上,利用DHCP Snooping 技術建立和維護DHCP Snooping 綁定表,過濾不可信任的DHCP信息。DHCP Snooping 開啟后,主機將向DHCP 服務器發(fā)送DHCP REQUEST 廣播包,DHCP 服務器將返回一個DHCPACK 單播包,這些報文都要通過DHCP Snooping 的監(jiān)聽,交換機會自動將主機所在端口以及主機

46、的MAC地址和DHCP 服務器分配給主機的IP地址保存在一個動態(tài)表中,并形成動態(tài)綁定關系。同時,啟用ARP inspection 功能,即對ARP 報文的檢測。只有符合DHCP Snooping 動態(tài)綁定表中綁定關系的主機才能發(fā)送和接收A R P 報文,否則過濾掉,以達到防止ARP 欺騙的目的。</p><p>  劃分安全區(qū)域, 一般情況下,A R P 廣播包是不能跨子網或者網段傳播的,也就是說子網、網段可以隔

47、離廣播包。一個VLAN 就是一個邏輯廣播域,通過VLAN 技術可以在局域網中創(chuàng)建多個子網,就在局域網中隔離了廣播,縮小了廣播范圍,也就減小了廣播風暴的產生幾率。局域網的網絡管理員可根據(jù)網絡的拓撲結構,具體規(guī)劃出若干個VLAN,當管理員發(fā)現(xiàn)有非法用戶在惡意利用ARP攻擊網絡,或因合法用戶受ARP 病毒感染而影響網絡時,網絡管理員可利用技術手段首先查找到該用戶所在的交換機端口,然后將該端口劃一個單獨的VLAN 將該用戶與其他用戶進行物理隔離

48、,以避免對其他用戶產生影響。劃分安全域的方法能在一定程度上有效緩解ARP 攻擊的傳播,但缺點是:安全域劃分太細會使局域網的管理和資源共享不方便。</p><p><b>  4.2 網絡掃描</b></p><p>  掃描器( Scanner ) 是一種自動檢測遠程或本地主機安全性弱點的程序。掃描器通過發(fā)送特定的網絡數(shù)據(jù)包,記錄目標主機的應答消息,從而可以收集關于

49、目標主機的各種信息或者測試主機的性能。掃描器也是一把雙刃劍,可以作為安全管理人員檢查、測試主機和網絡安全性的工具,幫助管理員發(fā)現(xiàn)問題,防患于未然。另一方面,有惡意目的的人員利用掃描器收集主機和網絡的信息,發(fā)掘其中的脆弱點,為攻擊做準備。</p><p> ?。?)網絡診斷命令,對目標系統(tǒng)進行掃描可以手動進行,也可以使用掃描工具自動進行。在手動進行掃描時,需要熟悉各種網絡命令,并對命令執(zhí)行后的輸出進行分析。用掃描工

50、具進行掃描時,工具本身一般都提供數(shù)據(jù)分析的功能。</p><p>  ping 命令。Ping 命令經常用來對TCP/IP 網絡進行診斷。通過向目標計算機發(fā)送一個ICMPechorequest 數(shù)據(jù)包,目標計算機收到后發(fā)送ICMPechoreply 數(shù)據(jù)包,如果能夠收到reply 數(shù)據(jù)包,就說明網絡能夠連通。通過ping命令,不僅可以判斷目標計算機是否正在運行,還可以了解網絡的大致延時。</p>&

51、lt;p> ?。?)端口掃描,端口是傳輸層的TCP和UDP協(xié)議與上層應用程序之間的接口點。攻擊者可以利用每一個端口作為入侵系統(tǒng)的通道。端口掃描就是通過向目標主機的指定端口發(fā)送數(shù)據(jù)包,根據(jù)目標端口的反應確定哪些端口是開放的。此外,還可以根據(jù)端口返回的旗標(banners) 信息進一步判斷端口上運行的服務類型,以及對應軟件版本甚至操作系統(tǒng)類型。</p><p> ?。?)脆弱性掃描,脆弱性掃描是檢測遠程或本地主

52、機系統(tǒng)脆弱性的技術,它通過獲取主機信息或者與主機的TCP/IP 端口建立連接并請求服務,記錄目標主機的應答,從而發(fā)現(xiàn)主機或網絡內在的安全弱點。由于它把繁瑣的安全檢測過程通過程序自動完成,不僅減輕了管理者的工作,還縮短了檢測時問,因而成為網絡管理的重要手段和工具。</p><p> ?。?)掃描的防范,攻擊者對潛在的目標進行掃描一般是攻擊的前奏。掃描能獲取系統(tǒng)信息,發(fā)掘系統(tǒng)存在的脆弱性。為了降低被攻擊的風險,應該從

53、以下幾方面對掃描進行防范。修正系統(tǒng)和網絡,使其暴露盡可能少的信息。例如,修改系統(tǒng)和服務器的旗標信息,許多服務軟件都提供了這個功能,可以定制系統(tǒng)和服務器返回給客戶端的提示信息;修正系統(tǒng)或者網絡,減少其脆弱性,比如關閉不必要的網絡服務,給系統(tǒng)和軟件及時打補丁等;入侵檢測系統(tǒng)一般能發(fā)現(xiàn)正在進行的掃描,所以應該安裝網絡入侵檢測系統(tǒng)或主機入侵檢測系統(tǒng),對于發(fā)現(xiàn)的掃描行為,要及時處理,避免攻擊者的進一步行動; 掃描器也是安全管理的助手,作為網絡管理

54、員和主機用戶,應該時常對自己管理的網絡和系統(tǒng)進行掃描,提前發(fā)現(xiàn)問題,防患于未然。</p><p><b>  4.3 拒絕服務</b></p><p>  DoS的攻擊方式有很多種,最基本的DoS攻擊就是利用合理的服務請求來占用過多的服務資源,從而使合法用戶無法得到服務的響應。單一的DoS攻擊一般是采用一對一方式的,當攻擊目標CPU速度低、內存小或者網絡帶寬小等等各項

55、性能指標不高它的效果是明顯的。</p><p>  圖4.3 攻擊示意圖</p><p>  如圖4.3,一個比較完善的DDoS攻擊體系分成四大部分,先來看一下最重要的第2和第3部分:它們分別用做控制和實際發(fā)起攻擊。請注意控制機與攻擊機的區(qū)別,對第4部分的受害者來說,DDoS的實際攻擊包是從第3部分攻擊傀儡機上發(fā)出的,第2部分的控制機只發(fā)布命令而不參與實際的攻擊。對第2和第3部分計算機

56、,黑客有控制權或者是部分的控制權,并把相應的DDoS程序上傳到這些平臺上,這些程序與正常的程序一樣運行并等待來自黑客的指令,通常它還會利用各種手段隱藏自己不被別人發(fā)現(xiàn)。在平時,這些傀儡機器并沒有什么異常,只是一旦黑客連接到它們進行控制,并發(fā)出指令的時候,攻擊傀儡機就成為害人者去發(fā)起攻擊了。</p><p>  DoS攻擊的基本原理及現(xiàn)狀。 DoS攻擊一般包括以下三個步驟:</p><p>

57、  (1)攻擊者通過掃描工具尋找一個或多個能夠入侵的系統(tǒng),并獲得系統(tǒng)的控制權。然后,在被攻陷的系統(tǒng)中安裝DoS的管理者(handler)。這一步常常針對緩存溢出漏洞或系統(tǒng)安全配置漏洞來進行。</p><p>  (2)攻擊者利用掃描工具大量掃描并攻擊存在安全漏洞的系統(tǒng),獲得該系統(tǒng)的控制權。在被攻陷的系統(tǒng)中安裝并運行DoS的攻擊代理(agent)。</p><p>  (3)攻擊者通過han

58、dler通知攻擊代理攻擊的目標以及攻擊類型等。很多攻擊工具的將攻擊者、攻擊代理和handler之間的通信信道加密以便較好地隱藏DoS攻擊網絡.在收到攻擊指令后,攻擊代理發(fā)起真正的攻擊。</p><p>  早期的攻擊者大多采取手工方式將DoS攻擊工具(handler,agent等)安裝至存在安全漏洞的系統(tǒng)中,因此要求攻擊者具有較高的水平。隨著攻擊工具的快速發(fā)展,攻擊工具的自動化程度越來越高。從掃描到探測,再到安裝

59、都可以自動完成。例如,DDoS攻擊工具T0mkit利用腳本來實施自動的掃描、探測、安裝。在ramen蠕蟲出現(xiàn)以后,很多攻擊者開始利用這類蠕蟲的自動掃描、探測、安裝、傳播的特點來安裝和傳播DoS攻擊工具。有些蠕蟲,如紅色代碼(Code Red),以及后來出現(xiàn)的紅色代碼II,本身就可以發(fā)起對指定目標的TCP SYNDoS攻擊。</p><p>  在基于handler的DDoS攻擊模型中,由于handler和agen

60、t之間需要用指定端口通信,因此比較容易被發(fā)現(xiàn)。并且,由于handler和agent相互存有對方的信息,所以一旦其中之一被發(fā)現(xiàn),整個DDoS攻擊網絡就會被破壞。在IRC(Intemet Relay Chat)流行以后,攻擊者利用IRC與攻擊代理進行通信,在這里,IRC相當于以前的handler。攻擊者與IRC服務器建立連接,然后利用完全合法的通信信道控制一組攻擊代理發(fā)動攻擊。因此,1RC的使用給發(fā)現(xiàn)DDoS攻擊網絡帶來了極大的挑戰(zhàn),大大提

61、高了DDoS攻擊網絡的生存能力,是DDoS攻擊技術的一個巨大進步?,F(xiàn)在,有很多基于IRC的DDoS攻擊代理被包含在有自傳播能力的蠕蟲中自動地廣泛傳播,如Knight/Kaiten。</p><p>  攻擊代理通常采用向目標主機發(fā)送大量的網絡分組的方式來進行。使用的分組類型通常有以下幾種:</p><p>  ◆TCP洪流(floods)。向目標主機發(fā)送大量設置了不同標志的TCP分組.常被

62、利用的標志包括:SYN,ACK,RST。其中,TCPSYN攻擊導致目標主機不斷地為TCP連接分配內存,從而使其它功能不能分配到足夠的內存。Trinoo就是一種分布式的TCP SYNDoS攻擊工具。</p><p>  ◆ICMP Echo請求/響應報文(如,Ping floods)。向目標主機發(fā)送大量的ICMP分組。</p><p>  ◆UDP洪流。向目標主機發(fā)送大量的UDP分組。一些D

63、DoS工具,如TFN,能夠使用上面列出的幾種分組發(fā)起攻擊。一些DoS攻擊工具還常常改變攻擊分組流中的分組的某些字段來達到各種目的,例如:</p><p>  ■源IP地址。假冒IP地址(re spoofing)主要有兩種目的:隱藏分組的真正的源地址;使主機將響應發(fā)送給被攻擊的主機。后者的例子很常見,如smurf或fraggle攻擊。</p><p>  ■源/目的端口號。很多利用TCP或U

64、DP分組洪流來實旌攻擊的DoS工具有時通過改變分組中的源或目的端口號來抵抗分組過濾。</p><p>  ■其它的IP頭字段。在已發(fā)現(xiàn)的DoS攻擊事件中,有些DoS攻擊工具除了保持分組首部中的目的IP地址不變外,隨機選擇分組流中的每一個分組的IP首部中的其它各個字段的值。</p><p>  攻擊者只有擁有足夠的特權,就可以很容易產生和傳送帶有偽造的屬性值的網絡分組,這是因為TCP/IP協(xié)

65、議棧(IPv4)不提供機制來確保分組屬性的完整性。</p><p>  DoS攻擊響應的技術。</p><p>  到目前為止,還沒有一種有效抵抗DoS的攻擊的技術和方法,現(xiàn)有的對付DoS攻擊的方案主要有四種。一種是通過丟棄惡意分組的方法保護網絡;另一種是在源端控制Dog世擊;第三種是追溯(tmceback)發(fā)起攻擊的源端,然后阻止它發(fā)起新的攻擊;第四種是路由器動雒測流量并進行控制。上述措

66、施只能部分地減輕DoS攻擊所造成的危害,而不能從根本上解決問題。</p><p>  (1)分組過濾。為了避免被攻擊,有些站點對于特定的流量進行過濾(丟棄)。分組過濾的一個例子是用防火墻過濾掉所有來自某些攻擊主機的報文,另一個例子是為了防止著名的smuff攻擊而設置過濾器過濾掉所有ICMP(Intemet Control Message Protoc01)ECHO報文。這種基于特定攻擊主機或者內容的過濾方法的作用

67、只限于已經定義了的固定的過濾器,不適合動態(tài)變化的攻擊模式。還有一種“輸</p><p>  入診斷”方案‘”,由受害者提供攻擊特征,沿途的ISP(Intemet Service Provider)配合將攻擊分組過濾掉,但是這種方案需要各個ISP的網絡管理員人工配合,工作強度高、時間耗費大,因此較難實施。</p><p> ?。?)源端控制。通常參與DoS攻擊的分組使用的源IP地址都是假冒的

68、,因此如果能夠防止IP地址假冒就能夠防IP此類的DoS攻擊。通過某種形式的源端過濾可以減少或消除假冒IP地址的現(xiàn)象,從而防范DoS攻擊。例如,路由器檢查來自與其直接相連的網絡分組的源IP地址,如果源IP地址非法(與該網絡不匹配)則丟棄該分組。</p><p>  現(xiàn)在越來越多的路由器支持源端過濾。但是,源端過濾并不能徹底消除IP地址假冒。例如,一個ISP的客戶計算機仍然能夠假冒成該ISP網絡內的成百上千個計算機中

69、的任一個其他計算機。</p><p>  (3)追溯。追溯發(fā)起攻擊的源端的方法不少,這些方法假定存在源地址假冒,它試圖在攻擊的源處抑制攻擊,并誤別惡意的攻擊源。它在m地址假冒的情況下也可以工作,是日后采取必要的法律等手段防止將來的攻擊的必要一步。但是追溯過程中并不能實時控制攻擊的危害,當攻擊很分散的時候也不能做到有效的追溯。已有的追溯方法主要有:</p><p>  IP追溯。路由器使用部

70、分路徑信息標記經過的分組。由于DoS攻擊發(fā)生時,攻擊流中包括大量的具有共同特征的分組,因此,追溯機制只需以一定的概率抽樣標記其中的部分分組。受害主機利用這些標記分組中的路徑信息重構攻擊路徑以定位大致的攻擊源。在攻擊結束之后依然可以追溯。</p><p>  ICMP追溯。路由器以、_定的概率抽樣標記其轉發(fā)的部分分組,并向所標記的分組的目的地址發(fā)送ICMP消息。消息中包括該路由器的身份,抽樣分組的內容,鄰近的路由器

71、信息。在受到攻擊時,受害主機可以利用這些信息重構攻擊路徑,找到攻擊者。</p><p>  鏈路測試。這種方法從離受害主機最近的路由器開始,交互測試其上游鏈路,遞歸執(zhí)行,直到確定攻擊路徑。它只有在攻擊進行時才有效。具體方法包括:輸入調試(Input Debugging),受控涌入(Controlled Flooding)等。</p><p> ?。?)路由器動態(tài)監(jiān)測和控制。最近,有些研究人

72、員提出在路由器上動態(tài)檢測和控制DoS攻擊引起的擁塞。其主要依據(jù)是DoS攻擊分組雖然可能來源于多個流,但這些流肯定有某種共同的特征,比如有共同的目的地址或源地址(或地址前綴)或者都是TCP SYN類型的報文。這些流肯定在某些路由器的某些輸出鏈路上聚集起來并造成大量的分組丟失。這些有著共同特征的流可以稱為流聚(aggregate)。其主要設想是流聚集所通過的路由器有可能通過分析分組丟失的歷史辯識出這種流聚集。如果一個路由器辯識出了這些高帶寬

73、的流聚集,它就可以通知送來這些流聚集的上游路由器限制其發(fā)送速率。這種由發(fā)生擁塞的路由器發(fā)起的回推(pushback)信號可能一直遞歸地傳播到源端。這種機制從直觀上不難理解,如果能夠實用則對于解決DoS攻擊問題有很好的前途。文獻[4】中也對這種擁塞控制機制進行了簡單的模擬研究,顯示該機制可以取季導一定的效果。但是這種機制在實際的網絡中能否實用面臨著檢測標準、公平性機制、高效實現(xiàn)以及運營管理等很多未解決的問題。</p><

74、;p><b>  4.4 網絡嗅探 </b></p><p>  嗅探(Sniffer)技術是網絡安全攻防技術中很重要的一種。對黑客來說,通過嗅探技術能以非常隱蔽的方式攫取網絡中的大量敏感信息,與主動掃描相比,嗅探行為更難被察覺,也更容易操作。對安全管理人員來說,借助嗅探技術,可以對網絡活動進行實時監(jiān)控,并進行發(fā)現(xiàn)各種網絡攻擊行為。</p><p>  嗅探原理

75、。嗅探器(Sniffer)最初是作為網絡管理員檢測網絡通信的一種工具,它既可以是軟件,又可以是一個硬件設備.軟件Sniffer應用方便,針對不同的操作系統(tǒng)平臺都有多種不同的軟件Sniffer,而且很多都是免費的;硬件Sniffer通常被稱作協(xié)議分析器,其價格一般都很高昂. 在局域網中,由于以太網的共享式特性決定了嗅探能夠成功.因為以太網是基于廣播方式傳送數(shù)據(jù)的,所有的物理信號都會被傳送到每一個主機節(jié)點,此外網卡可以被設置成混雜接

76、收模式(Promiscuous),這種模式下,無論監(jiān)聽到的數(shù)據(jù)幀目的地址如何,網卡都能予以接收.而TCP/IP協(xié)議棧中的應用協(xié)議大多數(shù)明文在網絡上傳輸,這些明文數(shù)據(jù)中,往往包含一些敏感信息(如密碼,賬號等),因此使用Sniffer可以悄無聲息地監(jiān)聽到所有局域網內的數(shù)據(jù)通信,得到這些敏感信息.同時Sniffer的隱蔽性好,它只是"被動"接收數(shù)據(jù),而不向外發(fā)送數(shù)據(jù),所以在傳輸數(shù)據(jù)的過程中,根本無法覺察到有人監(jiān)聽.當然,S

77、niffer的局限性是只能在局域網的沖突域中進行,或者是在點到點連接的中間節(jié)點上進行監(jiān)聽. 在交換網絡中,雖然避免了利用網卡</p><p>  (1)MAC洪水。交換機要負責建立兩個節(jié)點間的"虛電路",就必須維護一個交換機端口與MAC地址的映射表,這個映射表是放在交換機內存中的,但由于內存數(shù)量的有限,地址映射表可以存儲的映射表項也有限.如果惡意攻擊者向交換機發(fā)送大量的虛假MAC地址數(shù)

78、據(jù),有些交換機在應接不暇的情況下,就會像一臺普通的Hub那樣只是簡單地向所有端口廣播數(shù)據(jù),嗅探者就可以借機達到竊聽的目的.當然,并不是所有交換機都采用這樣的處理方式,況且,如果交換機使用靜態(tài)地址映射表,這種方法就失靈了. (2)MAC復制。MAC復制實際上就是修改本地的MAC地址,使其與欲嗅探主機的MAC地址相同,這樣,交換機將會發(fā)現(xiàn),有兩個端口對應相同的MAC地址,于是到該MAC地址的數(shù)據(jù)包將同時從這兩個交換機端口發(fā)送出去.這種

79、方法與后面將要提到的ARP欺騙有本質的不同,前者是欺騙交換機,后者是毒害主機的ARP緩存而與交換機沒有關系.但是,只要簡單設置交換機使用靜態(tài)地址映射表,這種欺騙方式也就失效了. (3)ARP欺騙。按照ARP協(xié)議的設計,為了減少網絡上過多的ARP數(shù)據(jù)通信,一臺主機,即使受到的ARP應答并非自己請求得到的,它也會</p><p>  網絡嗅探的防范與檢測。</p><p>  網絡嗅探

80、由于其特性所決定, 一般的殺毒軟件和掃描軟件很難檢測到它的存在。用戶也容易將用戶名、密碼或者銀行賬號之類的重要信息泄漏出來。采取必要的網絡安全防范與檢測措施有:</p><p>  (1) 分割網段, 設置VLAN。</p><p>  細化網絡會使得局域網中被嗅探監(jiān)聽的可能性減小, 這是因為局域網下的各種方法無法跨網段進行, 使用交換機等設備就可以有效地阻止嗅探。將相互信任的主機放在一起

81、, 組成各個小網段, 讓嗅探的可能性和必要性降至最低。</p><p>  (2) 使用靜態(tài)ARP表</p><p>  靜態(tài)ARP 表采用手工輸入的方法, 在連網的過程中, 不處理A RP 響應包。不對ARP表做任何修改。但是靜態(tài)ARP 表必須得到操作系統(tǒng)的支持, Window s 操作統(tǒng)雖然設置了靜態(tài)ARP表, 但仍然會根據(jù)ARP 應答包修改ARP表中的內容。</p>&

82、lt;p>  (3) 利用交換機本身的功能和特性手動綁定</p><p>  如果交換機具有端口安全保護功能, 應該將其開啟。開啟這種功能后, 交換機的每個端口將只與唯一的MAC 地址相關聯(lián), 從而有效地防范MAC 地址偽裝和MAC 地址洪水。給交換機端口手工配置MAC 地址。在交換機每個瑞口都進行靜態(tài)MAC 配置, 用ARP 命令手工綁定端口地址和Mac 地址, 生成靜態(tài)數(shù)據(jù)庫, 可以有效防止ARP 欺騙

83、網關設備。但這樣做會給管理員帶來很大的工作量, 從后期維護來看, 效果并不是很好, 而且容易出錯。因此一般只對連接路由器的端口手工配置MAC 地址, 以防止路由器的MAC地址被假冒。在不是很重要的情況下, 不要打開交換機端口的tr unk 設置。對于三層交換機, 一般可以在端口上設置IP 包過濾機制。通過lP包過濾機制, 禁用主機的IP 轉發(fā)功能, 以防被嗅探者利用。管理員可以根據(jù)IP 地址直接控制流經各端口的數(shù)據(jù)流。</p>

84、;<p>  (4) 使用安全協(xié)議與數(shù)據(jù)加密通信</p><p>  采用這種方法就是即使嗅探者可以監(jiān)聽到信息, 也無法閱讀信息。采用各種數(shù)據(jù)加密手段, 對于電子郵件程序, 可以考慮采用S/ MIME 或PGP, 前者可以內置到電子郵件程序中, 后者可以作為插件使用。對于HTT P, 可使用SSL 技術,作為Web 服務器和瀏覽器中的內置組件, 可以加密用戶的信用卡等重要信息。對于遠程登錄, 應該用

85、ssh 代替普通的telnet , 其它很多協(xié)議也可以通過SSh 進行隧道傳輸。</p><p>  (5) MAC 檢測</p><p>  網卡處于混雜模式時, 它會將其自動接收到的數(shù)據(jù)都向內核協(xié)議棧提交。向所懷疑的主機發(fā)送定制的ICMP Echo Request 包, 在數(shù)據(jù)包內將其IP 對應的MAC 地址改成一個不存在的值。此主機系統(tǒng)會返回響應包( 如果處于混雜模式) 或忽略( 如

86、果不處于混雜模式) 而暴露其工作模式。</p><p>  (6) DNS 檢測</p><p>  許多嗅探程序對經常需要對在ARP 包中發(fā)現(xiàn)的IP 地址進行反向解析1即使這些IP 地址并不存在) , 因此, 如果發(fā)現(xiàn)某主機對不存在的IP 地址的DN S 反向解析請求, 可以初步斷定嗅探程序的存在。</p><p>  5 SYN Flood 攻擊源代碼分析&l

87、t;/p><p>  5.1 主程序源代碼及分析</p><p>  首先介紹主程序部分,源代碼如下:</p><p>  1 # inciude<sys / socket.h></p><p>  2 # inciude<netinet / in.h></p><p>  3 # inciude&

88、lt;netdb.h></p><p>  4 # inciude<ctypes.h></p><p>  5 int main(int argc,char argv[])</p><p><b>  6 {</b></p><p>  7 int sockfd;</p><p>

89、;  8 struct sockaddr_in addr;</p><p>  9 struct hostent *victim;</p><p>  10 int on=1;</p><p>  11 i(f argc!=3){</p><p>  12 print(f“usage:synfiood host port\n”);</p

90、><p>  13 exi(t 1);</p><p><b>  14 }</b></p><p>  15 bzero(Saddr,sizeo(f addr));</p><p>  16 addr.sin_famiiy=AF_INET;</p><p>  17 addr.sin_port=ht

91、on(s ato(i argv[2]));</p><p>  18 i(f inet_aton(argv[1],Saddr.sin_addr)==0){</p><p>  19 victim=gethostbyname(argv[1]);</p><p>  20 i(f victim ==NULL){</p><p>  21 prin

92、tf (“hostns name error: s s \n”,argv [1],hstrerror</p><p> ?。╤_errno));</p><p>  22 exi(t 1);</p><p><b>  23 }</b></p><p>  24 addr.sin_addr=*(struct in_add

93、r *)(* victim ->h_addr_iist)[0];</p><p><b>  25 }</b></p><p>  26 sockfd=socke(t AF_INET,SOCK_RAW,0);</p><p>  27 i(f sockfd<0){</p><p>  28 print(f“s

94、ocket error: s\n”,strerro(r errno));</p><p>  29 exi(t 1);</p><p><b>  30 }</b></p><p>  31 setsockop(t sockfd,IPPROTO_IP,IP_HDRINCL,Son,sizeo(f on));</p><p&g

95、t;  32 setuid(getpid());</p><p>  33 send_synfiood(sockfd,Saddr);</p><p><b>  34 }</b></p><p>  這個程序從命令行中獲得對方主機的名稱和端口號</p><p>  Line 1、2、8、15-17:Linux 系統(tǒng)的套接

96、字可以支持多種協(xié)議,每一種協(xié)議都使用不同的套接字地址結構。在頭文件<iinux / socket.h>中定義了以下結構來保持套接字函數(shù)調用參數(shù)的一致性。</p><p>  struct sockaddr</p><p><b>  {</b></p><p>  unsigned short sa_famiiy;</p>

97、;<p>  char sa_data[14];</p><p><b>  };</b></p><p>  其中的sa_famiiy 為套接字的協(xié)議族地址類型,TCP / IP 的對于IPv4 地址類型為AF_INET。sa_data 中存儲具體的協(xié)議地址,不同的協(xié)議簇有不同的地址格式。</p><p>  但一般編程中并不直

98、接針對此數(shù)據(jù)結構操作,而是使用另一個與sockaddr 等價的數(shù)據(jù)結構sockaddr_in(在netinet / in.h 中定義的)。</p><p>  struct sockaddr_in</p><p>  {sunsigned hort int sin_ien;/ *IPv4 地址長度* /</p><p>  short int sin_famiiy;

99、/ * 地址類型* /</p><p>  unsigned short int sin_port;/ * 存儲端口號* /</p><p>  struct in_addr sin_addr;/ * 存儲IP 地址* /</p><p>  unsigned char sin_zero[8];/ * 空字節(jié)* /</p><p><b

100、>  };</b></p><p>  sockaddr_in 的結構定義實際上是對sockaddr 中sa_data</p><p>  [14]的細分。sin_port 存儲端口號(使用網絡字節(jié)順序),數(shù)據(jù)類</p><p>  型是一個16 位的無符號整數(shù)類型;sin_addr 存儲IP 網絡地址;</p><p> 

101、 sin_zero[8]添零補足。</p><p>  網絡中存在多種類型的機器,這些不同類型的機器表示數(shù)據(jù)的字節(jié)順序不同。所謂“字節(jié)順序”指的是網絡和主機采用存儲字節(jié)時內存順序安排方式的差異。在網絡環(huán)境下存儲時,把高位字節(jié)存放在內存地址的起始位置,把低位字節(jié)安排在地址的較高位置;主機形式的安排順序恰好相反。為了在不同類型的硬件設備之間正確地接收和發(fā)送數(shù)據(jù),必須采用統(tǒng)一的字節(jié)順序,網絡協(xié)議中的數(shù)據(jù)采用統(tǒng)一的網絡字

102、節(jié)順序,#inciude <netinet / in.h > 定義了unsinged short inthtons(unsigned short int hostshort);用于將主機字節(jié)順序轉換為網絡字節(jié)順序。</p><p>  Line 15:套接字地址結構初始化為0。</p><p>  Line 18-25:inet_aton 將字符串形式的IP 地址轉換為網絡字節(jié)

103、順序的32 位IP 地址。程序首先假定是IP 地址形式,使用inet_aton 來進行地址轉換,如果轉換成功表示確實是IP 地址,于是完成轉換,若函數(shù)轉換錯誤,表明給定的是域名地址形式,則調用函數(shù)gethostbyname 來進行域名查找,在返回的hostent</p><p>  結構中h_addr_iist[0]中存儲著IP 地址列表中的第一個值。gethostbyname 函數(shù)的輸入參數(shù)是欲查詢的主機名(C

104、 字符串類型),如果調用成功,它返回一個指向結構hostent 的指針,該結構中包含了該主機所有的IPv4 和IPv6 地址;如果調用失敗,函數(shù)返回NULL 指針,并將錯誤的原因記錄在變量h_errno中。函數(shù)的語法如下:</p><p>  #inciude<netdb.h></p><p>  extern int h_errno;</p><p>

105、  struct hostent*gethostbyname(const char *name);</p><p><b>  6 結束語</b></p><p>  兩周的課程設計結束了,在這次的課程設計中不僅檢驗了我所學習的知識,也培養(yǎng)了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在設計過程中,和同學們相互探討,相互學習,相互監(jiān)督。學會了合作,學

106、會了運</p><p>  籌帷幄,學會了理解,學會了寬容,也學會了做人與處世。</p><p>  課程設計是我們專業(yè)課程知識綜合應用的實踐訓練,著是我們邁向社會,從事職業(yè)工作前一個必不少的過程.”千里之行始于足下”,通過這次課程設計,我深深體會到這句千古名言的真正含義.我今天認真的進行課程設計,學會腳踏實地邁開這一步,就是為明天能穩(wěn)健地在社會大潮中奔跑打下堅實的基礎.</p&g

溫馨提示

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

評論

0/150

提交評論